我有一个开发者帐户,其设置与典型的主机不同。
使用此提供程序,每个域都分配了一个应用程序。 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版本。这可能吗?
答案 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个应用空间。