Habilitar el archivo .htaccess para reescribir la ruta (no funciona)

17

Todos los tutoriales me dicen que edite: /etc/apache2/sites-available/defaultpero este archivo no existe para mí. Dentro de este archivo tendría que editar el:

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
#AllowOverride All
#AllowOverride AuthConfig FileInfo Indexes Limit Options=All, MultiViews        
Order allow,deny
allow from all </Directory>

¿Cómo debería ser el archivo y debería crearlo yo mismo?

También tengo un 000-default.confarchivo, pero el 'código' anterior tampoco está allí.

en control
fuente

Respuestas:

59

Para la versión 2.4 y posteriores de apache, debe ir a

/etc/apache2/apache2.conf

Debe editar ese archivo (debe tener permiso de root). Cambiar el texto del directorio de esta manera;

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

Ahora reinicia apache.

service apache2 restart

Espero que funcione.

Nabil
fuente
¿Puedes explicar qué hace esto? ¿Cómo se relaciona esto con el .htaccess? Mi .htaccess no se lee en absoluto.
chx101
1
La línea importante aquí es que AllowOverride Allesto significa que todas las configuraciones se pueden establecer (anular) en .htaccessarchivos. Ver documentos: httpd.apache.org/docs/2.4/mod/core.html#allowoverride
jacwah
18

Ubuntu 14.04 (y Apache 2.4) el DocumentRoot predeterminado se cambió de / var / www a / var / www / html.

primero habilite a2enmod

sudo a2enmod rewrite 

y

sudo service apache2 restart

sudo nano /etc/apache2/sites-enabled/000-default.conf

agregue estas líneas al final

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

y

sudo service apache2 restart
alicanozkara
fuente
1
Esta solución funciona para mí porque primero necesito habilitar mod_rewrite. Muchas gracias.
kishor10d
1
Esto realmente funcionó para Apache 2.4. Me salvó el día Incluso después de editar maing apache2.conf .htaccess no funcionó, pero hacerlo de esta manera funcionó.
Faisal Sarfraz
9

Si no desea repetir la misma configuración en cada actualización / actualización

La mejor manera es:

Editar o crear un archivo de configuración

/etc/apache2/conf-available/httpd.conf

Añadir

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

Habilite el archivo de configuración

sudo a2enconf httpd

Reiniciar o recargar Apache

sudo service apache2 restart

o

sudo service apache2 reload

¡Se hace!

zatamina
fuente