Прежде всего, моя установка - это VPS под управлением Windows 2003 Server с несколькими доменами на нем IIS 6, Plesk
IsapiRewrite4.ini
RewriteLogLevel 3
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^/(.*)$ http://www.mydomain.com/$1 [R]
Это один из их основных примеров. Ionic установлен и настроен правильно, потому что, если я использую другое правило (более простое ... как следующее), оно работает мгновенно
# IsapiRewrite4.ini
#
RewriteLogLevel 3
#
# This ini file illustrates the use of a redirect rule.
# Any incoming URL that starts with an uppercase W
# will be redirected to the specified server.
RewriteRule ^/(W.*)$ http://server.dyndns.org:7070/$1 [R]
Это работает в инструменте TestDriver, и ни один из них не выдает никаких ошибок или предупреждений в инструменте TestParse, но он ничего не делает на веб-сервере ... Тот факт, что работает одно правило, означает, что работает модуль isapi. Пользуюсь последней версией.
RedirectRule http://mydomain.com/someplace/somefile.html http://www.mydomain.com/howto/someplace/anotherfile.html [I,L]
Оба примера взяты из http://iirf.codeplex.com/Wiki/View.aspx?title=Redirection&referringTitle=Home Итак, мой IsapiRewrite4.ini должен выполнять две задачи: автоматическое преобразование и перенаправление для ряда URL-адресов. Можешь помочь .. Я действительно не знаю, что делаю не так.
RedirectRule это новый синтаксис. Старый синтаксис для переадресации 301 или 302 был RewriteRule с флагом [R], но это должно было сильно сбивать с толку, поэтому его изменили. В текущей версии IIRF для перенаправления вы используете RedirectRule директива.
NB:
Начиная с IIRF v2.1.1.5, синтаксис RewriteRule с флагом [R] снова поддерживается для совместимости с mod_rewrite.
Что ж, мне удалось заставить его работать ... У меня были некоторые проблемы с разрешениями безопасности с файлом .dll ионного фильтра
Сначала я использовал RewriteRule, но после тестирования с помощью TestParser.exe я изменил его на RedirectRule. В любом случае это то, что я использую сейчас, и все работает нормально:
RedirectRule ^/features/sepia.html$ http://www.mywebsitename.com/howto/add-effect/sepia.html [R=301]
Что произойдет, если вы попытаетесь использовать RewriteRule
ключевое слово с флагом "R" (удаленные перенаправления) вместо "RedirectRule
":
RewriteRule http://mydomain.com/someplace/somefile.html http://www.mydomain.com/howto/someplace/anotherfile.html [R,I,L]
RedirectRule хорошо работает, если в URL-адресе есть дефис (-). например / витамин-d /, /vitamin-d/index.htm
RewriteRule имеет проблемы с тире.