использование 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
задан 26 January 2014 в 18:33

3 ответа

После того, как включил 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
0
ответ дан 26 January 2014 в 18:33

Даже я столкнулся с аналогичной проблемой с Apache 2.4 14.04

Обратите внимание, что файл конфигурации теперь находится в /etc/apache2/apache2.conf.

Я попробовал это, и это сработало для меня.

sudo nano /etc/apache2/apache2.conf

Найдите директиву Directory, в которой находится ваш корневой каталог, и установите следующее:

Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
0
ответ дан 26 January 2014 в 18:33

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

sudo a2ensite MyConfiguration.conf

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

sudo service apache2 restart
0
ответ дан 26 January 2014 в 18:33

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

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