我想将几页重定向到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
这不起作用。 "太多的重定向"。 有人可以帮忙吗?
答案 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]