如何制作.htaccess RewriteCond检查域名?

时间:2012-05-28 13:28:51

标签: .htaccess mod-rewrite url-rewriting

我有这条规则:

RewriteRule ^(about|installation|mypages|privacy|terms)(/)*$    
/index.php?kind=portal&id=1&page=$1&%{QUERY_STRING} [L]

如何更改它以使其仅适用于特定域,例如www.domain.com

1 个答案:

答案 0 :(得分:39)

您需要重写条件:

RewriteCond %{HTTP_HOST} ^www.domain.com$
在重写规则之前

如果在规则之前列出了几个重写条件,那么每个条目都必须匹配要执行的RewriteRule,例如:

RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteCond %{HTTP_HOST} ^www.domain2.com$

当然不起作用,因为HTTP_HOST不能同时包含两个值。

然后必须使用[OR]修饰符:

RewriteCond %{HTTP_HOST} ^www.domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.domain2.com$

以便在上述任何条件匹配时执行RewriteRule。

有关详细信息,请参阅http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond