我安装了Redmine,到目前为止一切运行顺利。
现在我想通过.htaccess添加一个重写规则,以便将来自domain.tdl的请求redirect到www.domain.tdl。 这是方法很好,我的日常php项目:
RewriteEngine On RewriteBase / # redirect all pages w/o www to www. RewriteCond %{HTTP_HOST} !^www\.domain\.tdl$ RewriteRule ^(.*)$ http://www.domain.tdl/$1 [L,R=301]
但是,当我把它添加到我们的redmine / public / .htaccess似乎无限redirect(导致超时/ HTTP 500错误)。
我试图寻找一个解决scheme的论坛/谷歌,但我只发现了成千上万的矛盾意见:
我错过了什么吗? 我不知道我想编辑我的应用程序控制器,我很确定我没有访问任何Mongoconfiguration(托pipe服务器托pipe)。
这似乎很明显,但仔细检查错别字。 如果RewriteCond和RewriteRule的主机没有完全相同的string,那么你最终将无限redirect。 既然你在这里使用占位符,我们不能为你发现这个问题。
在debugging的时候,值得使用302redirect。 301s是可以caching的,而正常的网页浏览器将在服务器上更改之后继续使用301redirect。 像curl和wget这样的命令行工具不会做这种caching。
你有反向代理吗? 如果是这样的话,Host:头部在后端可能与前端不一样。
超时与500错误不一样。 redirect循环与它们中的任何一个都不相同。 尝试追踪到底是什么反应。 使用类似curl -s --include http://www.domain.tdl/ | grep "^HTTP" curl -s --include http://www.domain.tdl/ | grep "^HTTP"应该做的伎俩。