【问题标题】:Is it possible to redirect to ssl and non www at the same time?是否可以同时重定向到 ssl 和非 www?
【发布时间】:2013-10-08 05:19:48
【问题描述】:

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

使用此提供程序,每个域都分配有一个应用程序。 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 版本。这可能吗?

【问题讨论】:

    标签: .htaccess redirect ssl


    【解决方案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]
    

    您可以在一个所有 4 个应用程序空间都使用的单个 htaccess 文件中拥有它。

    【讨论】:

    • 再次感谢乔恩,今天早上做了 180 次并使用了 ssl
    猜你喜欢
    • 2014-11-24
    • 2016-04-02
    • 1970-01-01
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 2018-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多