htaccess url将http-www和non-www重写为https-www+https-no-www重写为htt


htaccess url rewrite http www and non-www to https www + https non-www to https www

我正在寻找一组可以执行以下操作的重写规则:

  • http-www和http非www到https-www
  • https非www到https-www

你也可以说我想要所有不等于https://www.somedomain.com,重写为https://www.somedomain.com.

我已经看到了很多答案,但我找不到一套与上述内容相匹配的重写规则,也很难将其中一些规则组合成一套坚实的规则来实现上述内容。

提前感谢!

您可以在DOCUMENT_ROOT/.htaccess文件中使用以下单一规则:

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

它对我有效,除了https://somedomain1.com没有重定向到https://www.somedomain1.com