Назад | Перейти на главную страницу

Ошибка перезаписи Ionic Isapi на IIS6, Windows 2003 Server

Прежде всего, моя установка - это 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 имеет проблемы с тире.