Почему RewriteRule в .htaccess не имеет эффекта? - PullRequest
0 голосов
/ 24 января 2012

Веб-сервер Apache работает под управлением Windows 7 professional.Версия Apache - Apache / 2.2.17 (Win32) PHP / 5.3.8.mod_rewrite загружается в соответствии с phpinfo().Тег <VirtualHost> содержит директивы RewriteLog и RewriteLogLevel 3.Файл журнала, установленный в директиве RewriteLog, создан.Файл

.htaccess в корневом каталоге выглядит следующим образом:

RewriteEngine  On
RewriteRule ^alice\.html$ bob.html

В текущем каталоге содержится файл bob.html, и его можно открыть с помощью URL-адреса локального хоста.

Но alice.html Невозможно открыть URL, это вызывает ошибку 404.

Файл журнала для этого сайта содержит обычное сообщение о том, что файл не найден.

Файл журнала перезаписи существует, но пустой.

Что может привести к игнорированию директив перезаписи?

1 Ответ

1 голос
/ 24 января 2012

Убедитесь, что в вашем httpd.conf есть эта строка:

AllowOverride All

AllowOverride определяет, какие директивы могут быть помещены в файлы .htaccess.

Тестирование: Чтобы проверить, включен ли .htaccess или нет, просто поместите в него какой-нибудь ненужный текст и посмотрите, не сгенерирована ли внутренняя ошибка 500.

...