Apache Rewrite:* FULL *非www到www permanent redirect

时间:2012-02-08 19:25:23

标签: apache .htaccess mod-rewrite

我很难构建非www到www永久重定向。以下是我需要满足的条件......

1。)多域支持(多个网站域指向服务器上的同一目录,带有自己的数据库专用副本)。这意味着使用%{HTTP_HOST}而不是静态域名。

2。)所有可能的路径(或至少符合标准的路径)需要重定向;这意味着目录,HTTP查询等。

3。)我正在使用共享主机,因此我只能访问.htaccess文件。

以下是我现在正在使用的内容:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^%{HTTP_HOST}
RewriteRule (.*) http://www\.%{HTTP_HOST}/$1 [R=301,L]

详细说明:

  • 我正在测试禁用浏览器缓存以防万一。

  • 我在测试期间删除了其他语法,以查看哪些回复本身就可以正常工作。

2 个答案:

答案 0 :(得分:3)

你走了:

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

它还将保留URI方案。

答案 1 :(得分:0)

这适用于我(使用我的域名)

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^%{HTTP_HOST}
RewriteRule ^(.*)$ http://www\.%{HTTP_HOST}/$1 [R=301,L]

我看到的唯一区别是RewriteRule的匹配模式。