【发布时间】:2013-01-22 07:13:10
【问题描述】:
我有这个网站,example.com。我想做的是在所有页面上强制 www,在一个页面上强制 https,在所有其他页面上强制 http。
我正在使用以下 .htaccess 代码将所有 http 流量重定向到 www:
#Redirect to www
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
在我的“表单”页面上设置 SSL:
#Force SSL on a specific directory
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteCond %{REQUEST_URI} form
RewriteRule ^(.*)$ https://www.example.com/form/$1 [R,L]
问题是,当我点击 https://example.com/ 时,它不会像我想要的那样重定向到 www (https://www.example.com),尤其是 http 和 www (http://www.example.com)。我试过这个:
#Redirect SSL to www
RewriteCond %{ENV:HTTPS} on [NC]
RewriteRule ^(.*)$ http://www.example.com$1 [R=permanent,L]
但那是一个非常愚蠢的尝试并且没有奏效。我怎样才能同时完成这三个?
【问题讨论】:
标签: .htaccess mod-rewrite https