¿Cómo habilitar mod_rewrite en Apache?

157

Acabo de instalar la pila LAMP en mi sistema Ubuntu.

La redirección no funciona para mí. No sé cómo arreglarlo. ¿Alguien puede ayudarme?

    
pregunta vinoth 12.06.2011 - 15:45

2 respuestas

231

Para habilitar el módulo de reescritura, ejecute "apache2 enable module rewrite":

sudo a2enmod rewrite

Debe reiniciar el servidor web para aplicar los cambios:

sudo service apache2 restart

Si planea usar mod_rewrite en .htaccess archivos, también necesita habilitar el uso de archivos .htaccess cambiando AllowOverride None a AllowOverride FileInfo . Para el sitio web predeterminado, edite /etc/apache2/sites-available/default :

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            # changed from None to FileInfo
            AllowOverride FileInfo
            Order allow,deny
            allow from all
    </Directory>

Después de tal cambio, debe reiniciar Apache nuevamente.

respondido por el Lekensteyn 12.06.2011 - 15:49
49

Me atrevo a agregar una respuesta especial (como seguimiento a la gran respuesta anterior) con respecto a ubuntu 14.04 y .htaccess :

En 14.04, el nombre del archivo de configuración predeterminado se cambia a 000-default.conf :

sudo gedit /etc/apache2/sites-available/000-default.conf

agregue lo siguiente al final del archivo:

<Directory "/var/www/html">
    AllowOverride All
</Directory>

Por alguna razón, en Ubuntu 14.04 y apache2, la raíz se establece en /www/html . Si quieres cambiar la raíz del servidor web a la antigua vieja /www , open 000-default.conf y cambiar

DocumentRoot /var/www/html/

a

DocumentRoot /var/www/

y luego fuera de curso debería ser

<Directory "/var/www">
    AllowOverride All
</Directory>
    
respondido por el davidkonrad 17.10.2014 - 15:00

Lea otras preguntas en las etiquetas