将多个URL重定向到一个SSL URL

时间:2012-04-21 21:39:22

标签: apache .htaccess mod-rewrite

我有两个指向一个应用的网址,我希望所有这些网址都被重定向到带有www的SSL地址(即https://www.example1.com

我目前在.htaccess文件中有以下内容:

RewriteCond %{HTTP_HOST} ^example1.com [nc,or]
RewriteCond %{HTTP_HOST} ^www.example1.com [nc,or]  # Causes problems
RewriteCond %{HTTP_HOST} ^example2.com [nc,or]
RewriteCond %{HTTP_HOST} ^www.example2.com [nc]     # Causes problems
RewriteRule ^(.*) https://www.example1.com$1 [R=301,nc]

www网址的条件似乎没有正确重定向,浏览器也抱怨了。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

在大多数Apache SSL设置中,最好的办法是将443(SSL)以外的端口上的Apache流量重定向到SSL URL:

RewriteCond %{SERVER_PORT} !443
RewriteRule ^(.*) https://www.example1.com$1 [R=301,NC]

或者,您可以通过以下方式检查HTTPS:

RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://www.example1.com$1 [R=301,NC]