.htaccess не вступает в силу в проекте php

.htaccess не вступает в силу в проекте php

Я работаю под Ubuntu 20.04 и в настоящее время создаю API с использованием PHP. Я добавил файл .htaccess, который ДОЛЖЕН перенаправлять все страницы 404 обратно на мой index.php. Я спрашиваю об этом в askubuntu, потому что считаю, что это может быть проблема с моими конфигурациями Apache. Я зашел в свой 000-defaultфайл /etc/apace2/sites-availableи изменил:

<Directory /var/www/html>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>

Я также изменил свой apache2.confфайл /etc/apache2/apache2.conf, чтобы он выглядел так:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

<Directory /usr/share>
    AllowOverride All
    Require all granted
</Directory>

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

#<Directory /srv/>
#   Options Indexes FollowSymLinks
#   AllowOverride None
#   Require all granted
#</Directory>

Вот содержимое моего файла .htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On

    # Send would-be 404 requests to Craft
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_URI} !^/(favicon\.ico|apple-touch-icon.*\.png)$ [NC]
    RewriteRule (.+) index.php?p=$1 [QSA,L]

</IfModule>

Я попытался написать что-то вроде «ЭТО ДОЛЖНО ВЫЗВАТЬ ОШИБКУ», но когда я попытался перезагрузить браузер, я не получил ошибку 500, как ожидалось, а все еще получил ошибку 400, что говорит мне о том, что мой .htaccessфайл не был обработан.

После изменения любых файлов Apache или системы я запустил

sudo systemctl restart apache2но без костей.

Не уверен, что еще изменить на этом этапе. Любая помощь приветствуется, спасибо.

решение1

Я подозреваю, что проблема не в том, что ваш .htaccess игнорируется, а в том, что mod_rewrite не включен. Попробуйте sudo a2enmod rewriteперезапустить Apache2.

Связанный контент