REGEX .htaccess RewriteCond参数形成

时间:2011-04-08 19:30:08

标签: regex .htaccess mod-rewrite path

如何在.htacess中指定我希望对以www.domain.com开头的所有网址执行操作?

我想到了  RewriteCond %{HTTP_HOST} ^www.domain.com(.*)$ [NC]
但这是错的。
也尝试过  RewriteCond %{HTTP_HOST} ^www.domain.com(?:.*)?$ [NC]
但没有更好的。

1 个答案:

答案 0 :(得分:0)

您已选择检查HTTP_HOST并根据它做出决定。 HTTP_HOST仅包含请求的主机名,并且没有斜杠或完整URL的部分内容。因此,我会删除(。*)或(?:。*)?在你的RewriteConds结束时再次检查。至少,这就是我如何使用它。

如果您正在尝试将www重定向到非www(只是猜测)并想确保传输所请求的路径,那么这是我的代码:

RewriteCond %{HTTP_HOST} ^www\..* [NC]
RewriteRule ^(.*)$ http://nonwwwdomain.com%{REQUEST_URI} [R=301,L]

它使用301“Moved Permanently”重定向搜索引擎。