我知道有很多类似的线程,但是似乎没有一个与我的确切问题相符。这是我想要做的:
(1) http://www.mydomain.com/ -> https://mydomain.com/
(2) http://mydomain.com/ -> https://mydomain.com/
(3) https://www.mydomain.com -> https://mydomain.com/
理想情况下,如果我要添加更多的子域,并自动执行以下操作(最好以适用于我添加的任何子域的通用方式),我也希望涵盖这种情况。
(4) http://sub.mydomain.com/ -> https://sub.mydomain.com/
在这一点上,我想知道是否甚至可以创建一个可以满足我所有需求的.htaccess文件,尽管我不得不承认我了解正则表达式,但是我并不是完全mod_rewrite uberpro。
这是我已经尝试过的解决方案:
我的SSL证书涵盖了www-subdomain,因此,我不是在寻找“不受信任的连接”错误解决方案,我知道这是不可能的。
最佳答案
将此代码放在您的DOCUMENT_ROOT/.htaccess
文件中:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{ENV:HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301,NE]
关于regex - htaccess强制使用https并将www重定向到非www,但没有其他子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21467329/