¿Cómo puedo habilitar mod_rewrite en apache en Ubuntu?

13

¿Cómo se habilita mod_rewrite con Apache en Ubuntu 10.04?

Intenté copiar rewrite.loadde /etc/apache2/mods-availablea etc/apache2/mods-enabledpero eso no funcionó.

Nathan Osman
fuente

Respuestas:

20

Pruebe esto: sudo a2enmod rewritey luego reinicie apache.

Rwky
fuente
4

La respuesta de Obsidian para usar a2enmod es la solución adecuada. El método de andol funcionaría, pero podría romperse con la actualización. Lo que a2enmod hace es simplemente crear un enlace simbólico, por lo que los dos siguientes son la misma solución, ambas correctas:

  ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

o

  a2enmod rewrite

Sin embargo, a2enmod buscará otros tipos de archivos, algunos tienen .conf y posiblemente otros. No hay razón para no aprender este comando, aunque es importante saber lo que está sucediendo en segundo plano.

Copiar el archivo haría que cualquier administrador futuro se sintiera muy desagradable contigo. :)

Justin Alan Ryan
fuente
Bueno, es solo para pruebas locales, así que no es gran cosa. Pero sí, a2enmodes más fácil de todos modos.
Nathan Osman
2

En realidad, si bien es el tipo de solución incorrecta, copiar rewrite.load de ./mods-available/ a ./mods-enabled/ debería haber funcionado. ¿Recordó reiniciar su apache después?

En cualquier caso, ./mods-enabled/ debería contener enlaces simbólicos a los archivos correspondientes en ./mods-available/ . Esto es, como lo menciona Obsidian, la más fácil de manejar con los comandos a2enmod y a2dismod.

Además de habilitar el módulo, también deberá activar la reescritura. Antes de que pueda escribir sus RewriteCond : sy RewriteRule : s debe haber un " RewriteEngine On " en ese contexto de configuración.

andol
fuente
Eso tambien funciona. Solo recuerde establecer los permisos correctos en los enlaces simbólicos con mods habilitados ... o se arrancará el pelo.
Nathan Osman