.htaccess错误地将http重定向到http:// www

时间:2019-06-19 09:22:11

标签: .htaccess mod-rewrite https no-www

我正在尝试将所有请求重定向到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上阅读并尝试了许多其他问题,但无法完成。

1 个答案:

答案 0 :(得分:-1)

在DigitalOcean上检查此问题,第一个答案似乎与您所寻找的相符,似乎解决方案是从中(在<VirtualHost *:443>部分中)替换vhost conf文件中的RewriteCond: / p>

RewriteCond %{HTTP_HOST} ^(?:www\.)?(.*)$ [NC]

对此:

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]

如屏幕向导提供的答案here中所述。