.htaccess не работает (apache2 | ubuntu 18.04)

ребята, сайт работает нормально, только файл .htaccess, который не работает, я много гуглил, уже включил a2enmod rewrite и попробовал много вещей, но это не сработало.

obs: я использую сайт example.com в качестве примера

, вот как мой /etc/apache2/sites-available/000-default.conf :

<VirtualHost *:80>

    ServerAdmin admin@example.com
    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>

, и вот как мой /etc/apache2/apache2.conf :

<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>

таков мой .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

, но он не запрещает вывод каталога и не запрещает показ содержимого в 404.php , когда страница не найдена.

3
задан 1 August 2020 в 22:59

1 ответ

The current default setup of the AllowOverride directive causes your problem. If you want to allow override of everything possible by a .htaccess file for certain virtual host, you need to change its configuration in a way as this:

cat /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>

    ServerAdmin admin@example.com
    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>

Don't forget to reload or restart Apache after change of the .conf files.

3
ответ дан 2 August 2020 в 21:58

Другие вопросы по тегам:

Похожие вопросы: