htaccess网址重写http www和非www到https www + https非www到https www

时间:2014-10-21 15:27:25

标签: php apache .htaccess mod-rewrite redirect

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

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

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

我已经看到了很多答案,但是我找不到一组符合上述条件的重写规则,并且难以将其中一部分与一组完整的规则相结合。

提前致谢!

2 个答案:

答案 0 :(得分:2)

您可以在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]

答案 1 :(得分:0)

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