Configurar Apache para usar mod_rewrite

Hoy he empezado a aplicar el tema de url’s amigables en mis aplicaciones web, para ello, previamente en mi servidor local he tenido que configurar el servidor apache para que funcionase con el módulo mod_rewrite, necesario para estas operaciones.

Si utilizas un servidor contratado a alguna empresa de hosting, seguramente ya lo tengo activado así que no necesitarás preocuparte más.

Configurar apache en el fichero httpd.conf

Tendremos que movernos hasta la carpeta donde tengamos instalado el servidor apache y localizar su fichero de configuración llamado httpd.conf

Lo abrimos y le damos a buscar, tecleamos “rewrite” y nos llevará a una línea como esta

#LoadModule rewrite_module modules/mod_rewrite.so

Bien, aquí solo tendremos que quitar la # del principio de la línea para que quede lo siguiente

LoadModule rewrite_module modules/mod_rewrite.so

Ahora, realizaremos el mismo proceso pero buscando dentro de este archivo la palabra “directory>” ojo que he incluído un “>” al final de la palabra.

Esta búsqueda nos llevará a un código parecido a este

<Directory />
...
AllowOverride None
...
</Directory>

Tendremos que buscar dentro de estas etiquetas la instrucción AllowOverride cuyo valor será None y sustituirlo por All de la siguiente manera

<Directory />
...
AllowOverride All
...
</Directory>

El resto de instrucciones las dejamos como están

Artículos relacionados



Comentarios en Configurar Apache para usar mod_rewrite

Hay 14 Comentarios en el artículo Configurar Apache para usar mod_rewrite, ¿a qué esperas para dar tu opinión?


  1. lasextamola dice:

    tu crees que esto servira para foros vbulletin? porque nose si eres el dios de la informatica pero vamos cada vez que miro el rss todo lo que pones me interesa xD

  2. Emirodgar dice:

    Claro, cualquier aplicación web que utilice url’s amigables mediante el archivo .htaccess ha de tener el módulo mod_rewrite activado.

    Desconozco si vbulletin utiliza este sistema ya que, por ejemplo, wordpress tiene otras maneras, pero si tiene archivo .htaccess y en él aparecen rewrite rules sería necesario tenerlo activado.

  3. lasextamola dice:

    pues yo creo que si lo tendra, pero una cosa, yo por ejemplo podria hacer una pagina normal en html http://www.miweb.com/videoscortos.html y con un codigo redireccion no? pero esque me he estado repasando tu articulo y no encuentro la manera que redireccione de esa pagina a otra distinta, y sabes cual es el codigo?

  4. Emirodgar dice:

    Tendrías que poner una condición como esta

    RewriteRule ^antiguo\.html$ nuevo.html

  5. lasextamola dice:

    Yo pensaba que sin htacces no funcionaria pero poniendolo en el html funciona pero pasa algo muy raro aqui si redireccion

    http://www.canalgotxi.es/quemar-despues-de-leer-dvdscreener-1link-gigasize.html

    pero aqui no y el codigo que he puesto es exactammente igual xD que podra pasar?

    http://www.canalgotxi.es/el-guru-del-buen-rollo-dvdscreener-gigasize-1link.html

  6. Emirodgar dice:

    Te recomiendo esta chuleta del mod_rewrite, espero que aclare tus dudas y te ayude a resolver esos problemillas :)

    http://www.emezeta.com/weblog/emezeta-modrewrite-card-v0.1.png

  7. lasextamola dice:

    no me he enterado de nada xDD mira he hablado con mi hosting y me han dicho esto:

    tienes que meter las reglas del rewrite en el .htaccess en el public_html.

    entonces quiero decir en esa chuleta que me has pasado hay para lo que yo quiero? digo del mod_rewrite, los codigos que necesito para que el for de showthread lo pase a amigable, nose si te he liado mas de lo que estoy yo jaja saludos

  8. lasextamola dice:

    bueno pues al final use el tfseo que para salir del paso, no esta nada mal.

    tiene algunos defectos como los usuarios que siguen saliendo igual que antes en vez de /members/lasextamola

    pero bueno..

    gracias! aver cuanto tarda el google xD

  9. Emirodgar dice:

    de nada, me alegro que te sirviera en algo y confiemos en que google no tarde :)

  10. José dice:

    Hola, he lelgado a este artículo despues de mucho cascarme la cabeza.

    He instalado Apache y estoy creando mi web y optimzándola al máximo. El tema está en que no soy capaz de configurar el servidor para que funcione con Mod Rewrite. He hecho lo que comentas al principio pero siempre me da error 500

    Sat Feb 07 01:05:24 2009] [alert] [client 127.0.0.1] http://www.miweb/.htaccess: Invalid command ‘RewriteEngine’, perhaps misspelled or defined by a module not included in the server configuration

    No se que hago mal ni como solucionarlo.

    Gracias.

  11. Yair dice:

    Buenas. Soy nuevo en esto pero estoy intentado poner el modrewrite en mi servidor. Tengo instalado el easyphp 3.0 y al hacer loq ue comentas en tu articulo para luego probarlo hago algo que he visto en otro sitio:
    Create the file .htaccess and add these two lines

    RewriteEngine on
    RewriteRule ^testing.php$ modrewrite.php

    This tells the webserver to load modrewrite.php when testing.php is requested.
    Create the file modrewrite.php with this line

    Create the file testing.php with this line

    Now use your web browser to load testing.php. The text that shows will tell you whether mod_rewrite is working.

    y resulta que no me esta funcionando el mod_rewrite. Sabrias decirme en que me esta fallando?

Deja un comentario