Очистить URL в IIS с помощью mod_rewrite - PullRequest
0 голосов
/ 10 декабря 2010

У меня проблема с mod_rewrite.Или, точнее, у меня проблема с ISAPI_Rewrite, который является клоном mod_rewrite для IIS.В частности, ISAPI_Rewrite v3 работает на IIS 7. Он стремится вести себя идентично mod_rewrite, поэтому я надеюсь, что моя проблема относится и к mod_rewrite.

Моя проблема сводится к следующему: у меня есть скрипт bar.php, который яхочу получить доступ через URL foo.Я сначала переписываю foo до bar.Затем попробуйте преобразовать чистый URL в реальное имя файла.

RewriteRule ^foo$ bar

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* $0.php

Ошибка RewriteCond, потому что ${REQUEST_FILENAME} по-прежнему говорит «foo», а не «bar».Он не обновляется после первой перезаписи.

Как я могу сделать эту работу?Я мог бы это исправить, просто написав RewriteRule ^foo$ bar.php.Но я бы настоятельно хотел, чтобы правила переназначения URL были отделены от правил расширения файлов.

1 Ответ

0 голосов
/ 10 декабря 2010

Предварительный ответ ...

RewriteCond %{DOCUMENT_ROOT}/$0.php -f

Используя $0, я получаю доступ к последнему переписанному URL, что меня радует. Но я должен добавить %{DOCUMENT_ROOT}, чтобы превратить это в имя файла, что меня огорчает. Бит клуджа.

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