如果没有www,请重新加载。是通过HTACCESS出现的

时间:2011-01-07 15:41:37

标签: .htaccess

目前我们在.htaccess中的每个站点都这样做了,还有那个代码正则表达式吗?

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

RewriteCond %{HTTP_HOST} ^soupandcookies-takeaway.com
RewriteRule (.*) http://www.soupandcookies-takeaway.com/$1 [R=301,L]

因为我们在一个代码库上开始使用很多域名,所以一直是一件苦差事。

非常感谢

1 个答案:

答案 0 :(得分:3)

对于非HTTPS请求:

RewriteCond %{HTTPS} =off
RewriteCond %{SERVER_NAME} !^www\.
RewriteCond %{SERVER_NAME} ^(.+)$
RewriteRule (.*) http://www.%1/$1 [R=301,L]

对于HTTPS请求:

RewriteCond %{HTTPS} =on
RewriteCond %{SERVER_NAME} !^www\.
RewriteCond %{SERVER_NAME} ^(.+)$
RewriteRule (.*) https://www.%1/$1 [R=301,L]

另请注意,依赖HTTP_HOST是不安全的。如果您的默认vhost处理所有请求,则其值取自HTTP头字段Host: ...,可以伪造。