如何使用RewriteCond组合标志?

时间:2011-09-27 14:46:32

标签: .htaccess isapi-rewrite

我在IIS7上使用ISAPI-Rewrite 如何在RewriteCond中组合[NC]和[OR]? [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 个答案:

答案 0 :(得分:9)

是的,[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]

<强> P.S。 由于您使用的是IIS 7,为什么不使用他们的本机重写引擎(URL Rewrite模块) - 是的,它有不同的语法(不是.Apache的.htaccess,但是标准的web.config XML文件)但是工作正常(没有性能问题)在我的服务器上。)

相关问题