【问题标题】:How to make .htaccess RewriteCond check domain name?如何让 .htaccess RewriteCond 检查域名?
【发布时间】:2012-06-02 20:52:10
【问题描述】:

我有这个规则:

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

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

【问题讨论】:

    标签: .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    你需要一个重写条件:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-25
      相关资源
      最近更新 更多