重写带 www 和不带 www 的规则



我搜索了很多,但我找不到我具体问题的答案。

目前,所有用户如果键入以下内容之一,将重定向到https://www.mydomain.com

  • http://mydomain.com(将http替换为https并在此处添加www)
  • http://www.mydomain.com(在此处将 http 替换为 https)
  • https://mydomain.com(在此处附加 www)

对于上述条件,我的 .htaccess 中有此代码。

RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

我不知道如何停止任何子域的重定向。 例如,用户不应重定向到 https 如果键入以下内容:

  • abc.mydomain.com(子域可以是任何名称)
  • http://abc.mydomain.com

知道怎么做吗?

提前感谢您的帮助。

此规则应该有效:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain.com$ [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$ [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

尝试:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L] 

千杰

最新更新