расширение mod_rewrite .html - PullRequest
       0

расширение mod_rewrite .html

0 голосов
/ 12 августа 2011

Я использую сервер Apache 2.2.19, и у меня возникла проблема с mod_rewrite при работе с расширением .html.Чистка URL .php работает нормально, но не .html.В журналах ошибок я получаю следующее:

[Fri Aug 12 04:17:36 2011] [error] [client (AN IP ADDRESS)] script '(A DIRECTORY PATH)/forbidden.php' not found or unable to stat, referer: (MY WEBSITE)
[Fri Aug 12 04:17:38 2011] [error] [client (AN IP ADDRESS)] script '(A DIRECTORY PATH)/notfound.php' not found or unable to stat, referer: (MY WEBSITE)

, где некоторая информация опущена по соображениям безопасности и конфиденциальности (которая заменяется текстом в скобках).Запрещено и не найдено - это файлы HTML с расширением HTML, но по какой-то причине mod_rewrite пытается получить доступ к файлам .php.Без простого исправления простого изменения расширений файлов на .php, как я могу заставить mod_rewrite посмотреть на правильное расширение и оценить его, вместо того, чтобы рассматривать файлы HTML как имеющие расширение .php ??много заранее!

Вот соответствующий код, который находится в httpd.conf:

RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} \.html-f
RewriteRule (.*) /$1.html [L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+\.)+html\ HTTP
RewriteRule ^([^\.]+)\. $1 [R=302,L]

RewriteCond %{REQUEST_FILENAME} \.php-f
RewriteCond %{REQUEST_FILENAME} phpinfo
RewriteRule (.*) /$1.php [L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+\.)+php\ HTTP
RewriteRule ^([^\.]+)\. $1 [R=302,L]

1 Ответ

1 голос
/ 12 августа 2011

Правило для файлов .html имеет 2 дополнительных условия: RewriteCond %{REQUEST_URI} !(\.[^./]+)$ RewriteCond %{REQUEST_FILENAME} !-d

Я думаю, что первое вызывает проблему, потому что вы ищете .html в имени файла, но URI не долженсодержать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...