【问题标题】:OpenShift Redirect Loop between www and non-wwwwww 和非 www 之间的 OpenShift 重定向循环
【发布时间】:2015-06-17 13:22:00
【问题描述】:

当我尝试访问我的网站时,我遇到了无限重定向循环。重定向循环似乎在非 www 版本和 www 版本之间。

我的 DNS 为 http://domain.tld 设置了 URL 重定向到 www.domain.tld。然后 www.domain.tld 有一个 app-namespace.rhcloud.com 的 CNAME 记录。

我为应用添加了别名 www.domain.tld

我也尝试为 domain.tld 添加别名,但这没有帮助。

我有什么遗漏吗?非常感谢您的帮助!

【问题讨论】:

    标签: redirect openshift


    【解决方案1】:

    我在 openshift 上托管了一个 laravel 5 项目。 www 和非 www 很棘手,但我终于用一个简单的 2 部分解决方案让它工作了......

    1. 由于您不能使用非 www 作为 cname,因此将其设置为 174.129.25.170 的 A 记录,他们将添加 www。这就是他们似乎所做的一切。很奇怪,我知道。

    2. 在你的 .htaccess 中使用它似乎在云环境中效果更好。

      RewriteEngine On
      RewriteCond %{HTTP_HOST} !^www\.
      RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
      
      RewriteCond %{HTTP:X-Forwarded-Proto} =http
      RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
      

    【讨论】:

      【解决方案2】:

      我发现了问题。这是由于 .htaccess 文件中的重写规则导致从 www.domain.tld 重定向到 domain.tld:

      <IfModule mod_rewrite.c> #RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L] </IfModule>

      删除此问题解决了问题。

      【讨论】:

      • 面临这个确切的问题。 Openshift 中 .htaccess 文件的位置是什么,您从其中删除了这些行?
      • 那是我项目的根目录。我前段时间从模板中获取的。
      猜你喜欢
      • 1970-01-01
      • 2015-10-12
      • 1970-01-01
      • 2015-03-05
      • 2014-04-09
      • 1970-01-01
      • 2021-01-27
      • 2019-01-29
      • 1970-01-01
      相关资源
      最近更新 更多