2011-04-08 29 views
1

如何在.htacess中指定我希望对所有以www.domain.com开头的URL执行操作?
我想过
RewriteCond %{HTTP_HOST} ^www.domain.com(.*)$ [NC]
但它是错误的。
也试过
RewriteCond %{HTTP_HOST} ^www.domain.com(?:.*)?$ [NC]
但没有更好的。REGEX .htaccess RewriteCond参数形成

+0

你想在哪里重定向? – 2011-04-08 20:17:34

+0

转到另一个域,无论是首页,还是类似的URL,并且域已更改。 – tje 2011-04-08 22:05:01

回答

0

您已选择根据HTTP_HOST进行检查并基于此做出决定。 HTTP_HOST只包含所请求的主机名,而不包含整个URL的斜杠或部分。因此,我会删除(。*)或(?:。*)?在您的RewriteConds结束时再次检查。至少,这就是我使用它的方式。

如果你attemping重定向WWW到非www(只是猜测),并希望确保请求的路径转移,这是我的代码:

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

它采用了301“永久移动“重定向搜索引擎。

+0

谢谢,或闷闷不乐地@Martijn;),我预计在那里有一个错误。我不想将www重定向到非www,而是重定向所有以www.domain.com开头的网址(因此www.domain.com/abcd,www.domain.com/file.php等)到另一个域。我会尝试在一分钟内使用你的建议。 – tje 2011-04-08 21:16:26