Как объединить флаги с помощью RewriteCond? - PullRequest
2 голосов
/ 27 сентября 2011

Я использую ISAPI-Rewrite на IIS7.
Как мы можем объединить [NC] и [ИЛИ] в RewriteCond? [NC, OR]? Что такое простой способ сопоставления доменов с и без "www." ?

Вот черновик:

RewriteCond %{HTTP_HOST} ^old-one.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.old-one.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^old-two.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.old-two.com$ [NC]
RewriteRule ^(.*)$ http://www.new-website.com/$1 [QSA,L,R=301]

1 Ответ

9 голосов
/ 27 сентября 2011

Да, [NC,OR] - это способ объединения этих двух флагов.

Чтобы объединить несколько похожих условий в одно, попробуйте следующее:

RewriteCond %{HTTP_HOST} ^(old-one\.com|www\.old-one\.com|old-two\.com|www\.old-two\.com)$ [NC]
RewriteRule .* http://www.new-website.com%{REQUEST_URI} [L,R=301]

PS Поскольку вы работаете на IIS 7, почему бы не использовать их собственный механизм перезаписи (модуль перезаписи URL) - да, он имеет другой синтаксис (не .Apache .htaccess, а стандартный файл web.config XML), ноработает нормально (здесь нет проблем с производительностью на моих серверах).

...