如何更改.htaccess将所有非www链接重定向到www页面?
问题描述:
如何将所有非www链接重定向到www链接?我在互联网上找到了解决方案,但他们只重定向域名。 我该如何制作这个一般的: http://example.com/testing
应该重定向到http://www.example.com/testing
?如何更改.htaccess将所有非www链接重定向到www页面?
答
尝试这样的事情
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
答
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.yourdomain.com/$1
如果你想要的东西一般,对于任何领域的作品,你可以尝试这样的:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^(.+)$
RewriteRule ^(.*)$ http://www.%1/$1
啊,没想到你可以使用重写规则中的服务器变量,这很好。 – 2009-11-02 08:07:16
谢谢!你能解释一下这个代码吗?我是新来的htaccess,并试图找出这一点。 – chris 2009-11-02 08:20:14
当然,第一行显然启用了Apache上的URL重写;第二行检查主机名(域)是否以www开头,如果没有,则执行RewriteRule。规则很简单 - 只需将www添加到主机名的开头; R = 301使得这是一个永久的重定向(主要是为了搜索引擎的好处),而L意味着这是链中的最后一条规则(没有RewriteRule之后就会执行) – 2009-11-02 08:40:35