我想使用.htaccess将对http://example.com/
的任何调用指向http://www.example.com
,包括是否指定了页面。也就是说,http://example.com/contact.html
会重定向到http://www.example.com/contact.html
。
有人可以帮助解决语法问题,因为我尝试了不同的示例,但它不起作用。
答案 0 :(得分:0)
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
琐事:如果您使用的是示例或占位符域,请使用example.com
。此域名已在RFC2606中专门为此目的保留。
答案 1 :(得分:0)
您可以使用它,它可以在任何域上运行而无需编辑:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
答案 2 :(得分:0)
我编写了一个小的Apache插件,可能在这里有用,它叫做“RedirToServName”,可以在http://www.hogyros.de/download/的软件转储中找到。文档有点缺乏;实质上它所做的只是在主机名不是ServerName指令的规范主机名时生成重定向。
当然,使用专用的插件似乎有点过分,但我发现它为错误配置留下的空间较小,因为唯一的配置变量是一个布尔值来打开它。