2009-09-29 5 views
2

Я пытаюсь сделать что-то довольно простое в iirf.Переписывание URL-адреса IIRF для принудительного префикса www: example.com -> www.example.com

Я хочу, чтобы у всех запросов отсутствовал www. префикс, чтобы добавить его.

Это мой IsapiRewrite4.ini:

RewriteCond %{HTTP_HOST} ^example\.com$ [I] 
RewriteRule ^(.*)$ www.example.com/$1 [R=301,L] 

Это мой SampleUrls.txt:

example.com 
example.com/grants 
www.example.com 
www.example.com/grants 

я поместить файлы в том же каталоге, TestDriver.exe и запустить testdriver -d , Все тесты игнорируются:

NO ACTION 'example.com' ==> -- 

NO ACTION 'example.com/grants' ==> -- 

NO ACTION 'www. example.com' ==> -- 

NO ACTION 'www. example.com/grants' ==> -- 

Спасибо,

Эшли

ответ

1

TestDriver - это автономный инструмент для проверки правил перезаписи для IIRF. К сожалению, инструмент ограничен, поскольку он не может эффективно оценить условия, которые проверяют переменные сервера. В автономном консольном приложении нет переменных сервера.

Check the doc. Вот что он говорит:

Обратите внимание: программа TestDriver.exe является полезным инструментом тестирования, но она не может и не может заменить фактическое тестирование в контексте веб-сервера. Тест-драйв не запускается в контексте HTTP-сервера и поэтому не работает с переменными HTTP-сервера. В частности, если вы используете RewriteCond в файлах ini, которые вы тестируете с помощью TestDriver.exe, а те операторы RewriteCond ссылаются на переменные сервера (например,% {HTTP_URL} или% {HTTP_REFERER}), то эти операторы RewriteCond не будут вести себя в TestDriver одинаково они будут вести себя в ISAPI. Испытания таких условий не будут полезны при проверке фактических эксплуатационных характеристик.

0

Вы должны указать абсолютный URL для подстановки. В противном случае ваш www.example.com рассматривается как сегмент пути.

RewriteCond %{HTTP_HOST} ^example\.com$ [I] 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] 
+0

Hi Gumbo, Я пробовал ваше предложение безрезультатно. Инструмент TestDriver по-прежнему не соответствует ни одному из тестов. hmmm ... –