从.htaccess文件将几页重定向到https

时间:2014-07-23 03:49:55

标签: regex .htaccess

我想将几页重定向到https。由于我已经使用一个条件将所有请求重定向到http,对于那些页面,它显示了太多的重定向。 看看下面的代码:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ www.example.com/$1 [L,R=301]
RewriteCond %{HTTPS} off
RewriteRule ^login\.php$ https://www.example.com/login.php

这不起作用。 "太多的重定向"。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

第一条规则毫无意义。

缩短到这一点:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^login\.php$ https://www.example.com/login.php [L,R]

如果第一条规则的想法是强制www,请添加:

# From http://stackoverflow.com/a/4958847/1078583
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]