【发布时间】:2014-01-13 15:05:27
【问题描述】:
我需要将带有错误域的 URL 重定向到正确的域。
伪代码示例:
if (domain != "www.correctdomain.com")
redirect("www.correctdomain.com")
如何使用.htaccess 文件执行此操作?
【问题讨论】:
我需要将带有错误域的 URL 重定向到正确的域。
伪代码示例:
if (domain != "www.correctdomain.com")
redirect("www.correctdomain.com")
如何使用.htaccess 文件执行此操作?
【问题讨论】:
您可以使用 If 指令来执行此操作...
<If "%{HTTP_HOST} != 'www.example.com'">
Redirect / http://www.example.com/
</If>
或 mod_rewrite。见http://httpd.apache.org/docs/current/rewrite/remapping.html
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/?(.*) http://www.example.com/$1 [L,R,NE]
【讨论】:
<IF> 指令
RewriteCond %{HTTP_HOST} !^(.*)example\.com [NC] 包含任何子域
RewriteCond %{HTTP_HOST} !^$ 指令有什么作用?如果HOST不为空?
在 SEO 目的上最好做 301 重定向:
RewriteCond %{HTTP_HOST} ^www.example.com(.*)$ [NC]
RewriteRule ^(.*)$ http://example.com$1 [R=301,L]
【讨论】: