我的网站过去常常使用“强制SSL”和“强行删除www”。但现在它失去了“强制www删除”。为了更清楚,它现在是“强制www”。
我的.htaccess中的相关代码是
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
我根本没有改变上面的代码。我曾联系过我的网站托管公司,他们说问题出在.htaccess。
如果我必须指出一个可能的原因,可能是(我的网站托管公司的)支持人员帮助我更改了我的PHP版本。这可能就是为什么在我的.htaccess开头添加了两行:
# Use PHP56 Single php.ini as default
AddHandler application/x-httpd-php56s .php
但我不确定这是否真的是原因。
答案 0 :(得分:1)
您的代码添加了www。改为使用:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [NE,L,R=301]
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]