Cómo habilitar mod_rewrite para el host virtual


8

La regla mod_rewrite no funciona en el host virtual. He querido esto para cakephp.

¿Hay configuración para agregar en el archivo de host virtual?

Respuestas:


21

Si está utilizando la última versión de Apache 2.4+, aquí está el proceso para habilitar mod_rewrite.

Vaya a etc/apache2/
Abrir apache2.confusando su editor de texto favorito.
Cambio

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

a

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Entonces guárdalo. Recuerde que debe tener permiso de root para editar y guardar este archivo.
Ahora reinicie apache.

service apache2 reload

Este proceso habilitará mod_rewrite para el servidor apache, incluido el host virtual.

También puede verificar si está habilitado o no. Crea un script php

<?php    
phpinfo();    
?>

Cárgalo desde el servidor. En la Loaded Modulessección, verifique si mod_rewritehay o no. Si está allí, entonces está habilitado.


Antes de usar esta opción, todas mis reescrituras terminaban en 404, sin embargo, después de actualizar apache2.confy reiniciar apache404 desaparecieron, ¡pero todas las páginas volvieron a la página de inicio! phpinfo()tampoco tenía el mod_rewritemódulo habilitado. Luego, ejecutando el comando CLI (como lo sugiere Lonston a continuación) ¡todo se volvió dorado! ¿Por qué esta solución no mod-rewritehabilitó el módulo para mí sino la aprobación de la CLI? ¿Es esta una combinación de modificar .confy ejecutar el comando CLI uno tras otro para habilitar el módulo o cualquiera de estos es realmente suficiente?
Niladri Sarkar

6

Habilite Reescribir usando

# sudo a2enmod rewrite

Luego reinicie el apcahe2 usando

# service apache2 restart

Habilite en Virtualhost agregando

AllowOverride FileInfo

Luego reinicie el apcahe2 usando

# service apache2 restart

ejemplo :

<Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            # I Have below line from none to FileInfo
            AllowOverride FileInfo
            Order allow,deny
            allow from all
    </Directory>

¡Esto también funcionó para mí!
Niladri Sarkar
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.