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

IIRF на IIS 6 отклоняет подключения к серверу

У моих клиентов два сайта (назовите их, скажем, mainsite и subsite), которые работают как службы подписки. Они хотят, чтобы у клиентов был доступ к subsite только если у них есть платная подписка на их основном сайте, поэтому любой, кто получает доступ subsite напрямую или не через mainsite должен быть перенаправлен на mainsite (купить подписку).

Мне было поручено обработать это перенаправление, и поскольку их серверы работают на Windows Server 2003 с IIS 6, я установил IIRF (Ionic ISAPI Rewrite Filter) на subsite сервер для обработки перезаписи и перенаправления. В subsite Файл Iirf.ini содержит следующее:

# Enable logging.
RewriteLogLevel 1
RewriteLog D:\sites\subsite\Files\IIRFLog

# Enable services.
RewriteEngine ON
StatusInquiry ON
IterationLimit 5

# Redirect to main site.
RewriteCond %{HTTP_REFERRER} ^https?://(?!mainsite)([-\w]*\.)(?!mainsite)\S*$ [I]
RedirectRule ^(.*)$ http://mainsite.com/

# Add `www.` to URLs.
RewriteCond %{HTTP_HOST} ^(subsite\.com).*$ [I]
RedirectRule ^/(.*)$ http://www.subsite.com/$1 [I,R=301]

# URL rewrites for WordPress pretty permalinks.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$ /index.php/$1 [L]

(Конечно, mainsite и subsite заменяются на реальные домены.)

Проблема, однако, в том, что когда я включаю IIRF на сервере, он полностью прекращает обслуживание страниц (в Firefox указана ошибка в том, что сервер сбросил соединение). Никаких перенаправлений не происходит, и никакие файлы журнала не записываются в указанное расположение файла журнала.

Конфигурация полностью актуальна согласно комплектации TestDriver и TestParse программы, так что может пойти не так?

Оказывается, пока наш сервер работает на 64-битной версии Windows Server, наша установка IIS работает в 32-битном режиме. Просмотр журнала событий Windows показал, что у нас есть 64-разрядная версия IIRF. 32-разрядная версия не могла быть установлена ​​на нашем сервере (что вполне разумно), поэтому ручная установка заставила ее работать.