Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redirect www和非www之间的OpenShift重定向循环_Redirect_Openshift - Fatal编程技术网

Redirect www和非www之间的OpenShift重定向循环

Redirect www和非www之间的OpenShift重定向循环,redirect,openshift,Redirect,Openshift,当我尝试访问我的站点时,我正在经历一个无限的重定向循环。重定向循环似乎介于非www版本和www版本之间 我的DNS设置了指向www.domain.tld的URL重定向。然后www.domain.tld有一个app-namespace.rhcloud.com的CNAME记录 对于应用程序,我添加了别名www.domain.tld 我还尝试为domain.tld添加别名,但没有帮助 有什么我遗漏的吗?非常感谢你的帮助 我发现了这个问题。这是由于.htaccess文件中的重写规则导致从www.doma

当我尝试访问我的站点时,我正在经历一个无限的重定向循环。重定向循环似乎介于非www版本和www版本之间

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

对于应用程序,我添加了别名www.domain.tld

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


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

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


#重写cond%{HTTPS}=在…上
重写cond%{HTTP_HOST}^www\.(.+)$[NC]
重写规则^http://%1%{REQUEST_URI}[R=301,L]


删除此项解决了问题。

我正在openshift上主持一个laravel 5项目。www和非www都很棘手,但我最终用一个简单的两部分解决方案解决了它

  • 既然你不能用非www来表示cname,那就把它变成一个a-record到174.129.25.170,他们就会添加www。他们似乎就是这么做的。奇怪,我知道

  • 在你的.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]
    

  • 面对这个问题。Openshift中删除这些行的.htaccess文件的位置是什么?它位于我项目的根目录中。我前一段时间从模板上取的。