我刚刚获得了SSL证书并重定向了我的网站以显示https://而不是http://使用HTaccess:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.example.co.uk/%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
在我以前链接到我的索引之前:
<a href="http://www.example.co.uk/">Home</a>
你将被带到http://www.example.co.uk。
现在使用SSL我已将其更改为:
<a href="https://www.example.co.uk/">Home</a>
它带我去https://www.example.co.uk/www.example.co.uk/。
知道为什么会这样吗?
答案 0 :(得分:0)
您的http -> https
规则应为:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
确保清除浏览器缓存或使用新浏览器进行测试。
答案 1 :(得分:0)
这就是你需要的
<IfModule mod_rewrite.c>
RewriteEngine On
# Redirect HTTP to HTTPS automatically (only if not in localhost)
RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>