Apache2 RewriteRule, не работающий

У меня есть это в моем/srv/www/htdocs/.htaccess файле:

RewriteEngine On #turn on rewite engine
RewriteRule ^schedule/?$ index.php?page=schedule [NC,L]
RewriteRule ^music/?$ index.php?page=music [NC,L]
RewriteRule ^thefamily/?$ index.php?page=thefamily [NC,L]
RewriteRule ^contact/?$ index.php?page=contact [NC,L]

Я перехожу в http://localhost/contact и я получаю 404 ошибки. На моем удаленном сервере однако, этом коде в .htaccess хорошо работает. Как я заставляю RewriteRule работать над Apache2? Я погуглил, и считайте, что эта команда заставила бы его работать: # a2enmod rewrite но это не сделало [я действительно перезапускал apache2 также].

Я даже добавил RewriteEngine On к моему/etc/apache2/sites-available/default файл [В VirtualHost], но это не зафиксировало его также.

Я выполняю его из Ubuntu 11.04. Любая ценившая справка, Спасибо!

0
задан 03.05.2011, 18:59

0 ответов

Значение по умолчанию настроило апачский virtualhost на debian (и я принимаю Ubuntu), не читает .htaccess файлы. Для Включения его откройте файл конфигурации по умолчанию (/etc/apache2/sites-available/default), ищите что-то подобное:

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

Измените строку "AllowOverride Ни один" к "AllowOverride Все". Перезагрузка или апач перезапуска (/etc/init.d/apache перезагрузка). AllowOverride ограничивает директивы, которые могут быть помещены в .htaccess файл, когда он не установлен ни на Один, апач никогда не анализирует файл.

2
ответ дан 24.11.2019, 06:40

Теги

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