использование mod_rewrite в Apache 2.4

Ладно, есть много тем о том, как использовать mod_rewrite, но я считаю, что в Apache 2.4 он работает немного по-другому. Я попробовал это:

<Directory /var/www/vhosts/example.com>
<IfModule mod_rewrite>
RewriteEngine On
RewriteBase /var/www/vhosts/example.com
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
</IfModule>
</Directory>

Это находится в /etc/apache2/conf-available/httpd.conf/, и я рунт sudo a2enconf httpd.conf, который работал и включал его, но он все равно не хочет работать.

Я попробовал это без бита Directory, я попытался назвать его mod_rewrite.c, что предлагает WordPress, но ни один из вышеперечисленных, кажется, не работает Я также попробовал сделать это с тегом Directory, но без IfModule, что по понятным причинам привело к тому, что Apache не запускался. И да, я перезапускаю Apache между каждой попыткой.

Есть ли в Apache 2.4 новый трюк, который я не знаю, если? Любая помощь приветствуется.

7
задан 07.05.2020, 06:20

2 ответа

После того, как включил mod_rewrite с помощью этой команды:

sudo a2enmod rewrite

Создайте файл для вашей конфигурации httpd в / etc / apache2 / sites-available / поэтому в моем Ubuntu файл, который я делаю, является /etc/apache2/sites-available/code-machine.conf :

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

Редактировать : И как напомнили Крис Грегори и Firepol, вы можете зарегистрировать новый файл конфигурации code-machine.conf :

sudo a2ensite code-machine.conf

Затем перезапустить ваш apache :

sudo service apache2 restart
11
ответ дан 07.05.2020, 06:20
  • 1
    Поскольку Chris Gregory напомнил, зарегистрируйте новый файл конфигурации, в этом случае код-machine.conf (я назвал его по-другому, так адаптируйтесь к своему conf файлу): код-machine.conf sudo a2ensite Тогда: сервис sudo apache2 перезапуск – BoundForGlory 07.05.2020, 06:21

У меня было зарегистрировать новый файл конфигурации в Apache, прежде чем он заработал.

sudo a2ensite MyConfiguration.conf

Тогда я мог бежать

sudo service apache2 restart
2
ответ дан 07.05.2020, 06:21

Теги

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