我有这样的规则:
RewriteRule ^(about|installation|mypages|privacy|terms)(/)*$
/index.php?kind=portal&id=1&page=$1&%{QUERY_STRING} [L]
我怎样才能改变它,这样它只会工作一个特定领域, www.domain.com
的例子吗?
我有这样的规则:
RewriteRule ^(about|installation|mypages|privacy|terms)(/)*$
/index.php?kind=portal&id=1&page=$1&%{QUERY_STRING} [L]
我怎样才能改变它,这样它只会工作一个特定领域, www.domain.com
的例子吗?
你需要重写条件:
RewriteCond %{HTTP_HOST} ^www.domain.com$
之前你重写规则。
如果您的规则之前列出几个重写条件,他们每个人都必须要执行,例如,用于重写规则匹配:
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$
使得重写规则被执行,如果上述任何条件匹配的。
见http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond以获取更多信息。