.htaccess no funciona (apache2 | ubuntu 18.04)
chicos, el sitio web funciona bien, solo el archivo .htaccess que no funciona, busqué mucho en Google, ya estaba habilitado a2enmod rewrite
e intenté muchas cosas pero no funcionó.
obs: estoy usando el sitio web example.com como ejemplo
así es mi /etc/apache2/sites-available/000-default.conf
:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
y así /etc/apache2/apache2.conf
es mi:
<Directory />
Options FollowSymLinks
AllowOverride All
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
así es mi .htaccess:
#DISALOW DIRECTORY LISTING
Options -Indexes
ErrorDocument 400 /.error.php
ErrorDocument 401 /.error.php
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
ErrorDocument 405 /.error.php
ErrorDocument 408 /.error.php
ErrorDocument 414 /.error.php
ErrorDocument 500 /500.php
ErrorDocument 502 /.error.php
ErrorDocument 504 /.error.php
pero no está deshabilitando la lista de directorios y no muestra el contenido 404.php
cuando no se encuentra la página.
Respuestas
La configuración predeterminada actual de la AllowOverridedirectiva causa su problema. Si desea permitir la anulación de todo lo posible por un .htaccess
archivo para cierto host virtual, debe cambiar su configuración de la siguiente manera:
cat /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot "/var/www/example.com/public_html"
<Directory "/var/www/example.com/public_html">
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
No olvide volver a cargar o reiniciar Apache después de cambiar los archivos .conf.