我知道这个问题已经被多次询问和回答,但我花了最后3个小时来回答人们的答案,似乎没有一个对我有用。
我需要一些.htaccess
代码才能执行此操作:
如果域名为example.co.uk/$urlData
(仅适用于主域名且没有子域名),则重写www.example.co.uk/$urlData
如果HTTPS不是" on"和域名是主要的(即没有子域名),然后重定向到https://www.example.co.uk/$urlData
。
我必须使用RewriteCond %{HTTP:X-Forwarded-Proto} !https
来测试HTTPS是否已关闭,因为我的服务器上未配置RewriteCond %{HTTPS} off
。
答案 0 :(得分:1)
尝试一下,看看这是否适合你。
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*) https://www.example.com/$1 [R=301,L]
答案 1 :(得分:1)
将此添加到您的.htaccess
:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.co\.uk$ [NC]
RewriteRule (.*) https://www.example.co.uk/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.example\.co\uk$ [NC]
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule (.*) https://www.example.co.uk/$1 [R=301,L]