是否可以同时重定向到ssl和非www?

时间:2013-10-01 21:44:14

标签: .htaccess redirect ssl

我有一个开发者帐户,其设置与典型的主机不同。

使用此提供程序,每个域都分配了一个应用程序。 4个域名:

https://example.com https://www.example.com http://example.com http://www.example.com

所选的“主要”域名是最高的域名https://example.com。因此,在我的主机登录面板中,我已将网站“app”分配给https://example.com,而其余3个分配了“重定向”应用。

对于我使用过的非ssl http域:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

这样做的目的是重定向到ssl。这似乎工作正常。

然后,对于www版本,我想重定向到非www版本,我使用过:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

不起作用。但是,除了搞清楚之外,我真正喜欢的是让3个域变体全部由同一个.htaccess文件提供,有两个目的:重定向到ssl和非www版本。这可能吗?

1 个答案:

答案 0 :(得分:1)

是的,您可以使用[OR]标志来限定/或:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

您可以在单个htaccess文件中使用所有4个应用空间。