我正在尝试将所有请求重定向到https非www子域,例如:
http://sub.example.com -> https://sub.example.com
http://www.sub.example.com -> https://sub.example.com
https://www.sub.example.com -> https://sub.example.com
使用此.htaccess
文件:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^ https://sub.example.com%{REQUEST_URI} [L,R=301,NE]
但是如果我访问
http://sub.example.com
它被重定向到
https://www.sub.example.com
我不明白。 .htaccess
文件中没有其他行。我已经在SO上阅读并尝试了许多其他问题,但无法完成。
答案 0 :(得分:-1)
在DigitalOcean上检查此问题,第一个答案似乎与您所寻找的相符,似乎解决方案是从中(在<VirtualHost *:443>
部分中)替换vhost conf文件中的RewriteCond: / p>
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.*)$ [NC]
对此:
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
如屏幕向导提供的答案here中所述。