我在灵活(免费)上使用Cloudflare的SSL,它运行得非常好。
我已设置从https://
到//
的所有文件和链接,以使其可以通过https工作。
我还在.htaccess
文件中设置了以下内容,以使任何客户端自动从http转到https:
RewriteCond %{SERVER_PORT}s ^(443(s)|[0-9]+s)$
RewriteRule ^(.*)$ - [env=askapache:%2]
.htaccess
代码的问题是,它只会将http更改为我网站的根索引文件上的https,例如,http://example.com/index.php
会重定向到https
但http://example.com/folder/index.php
不会。
我的第二个问题是即使我做了一个简单的href="https://example.com/folder/index.php"
或href="//example.com/folder/index.php"
,它也会将我带到基本的http网址。
答案 0 :(得分:0)
如果您使用的是CloudFlare,则可以定义为始终在页面规则中使用SSL。
对于.htaccess(递归):
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]