.htaccess - 如何让.htaccess RewriteCond检查域名?

标签 .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

最佳答案

您需要重写条件:

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了解更多信息。

关于.htaccess - 如何让.htaccess RewriteCond检查域名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10785475/

相关文章:

apache - 将所有内容重定向到 Apache 上的 www

php - 在 Apache 的 mod_rewrite 中的一个 URL 路由上禁用 Shibboleth 登录

apache - 整个目录使用相同的 PHP 文件

php - .htaccess mod_rewrite 重定向问题

php - 每天更新一次php脚本

.htaccess - Cloudflare DNS - 如何将所有子域重定向到根域?

php - 需要进行htaccess调整

java - org.tuckey.web.filters.urlrewrite 和 tomcat 5.5 的问题

php - 如何处理像 Last.FM 或维基百科这样的社区 URL 样式?

wordpress - 上线 - 将旧网址重定向到新网址并确保 Google 对新网站进行排名