Php 在Heroku上部署时,请求超出了10个内部重定向的限制

Php 在Heroku上部署时,请求超出了10个内部重定向的限制,php,apache,cakephp,heroku,Php,Apache,Cakephp,Heroku,我正在尝试将我的代码的最新版本部署到Heroku(它在本地工作得非常好,完全相同的代码),我看到了错误500。当我查看heroku日志时,我看到以下错误: 2014-06-15T12:41:20.661382+00:00 app[web.1]: [Sun Jun 15 12:41:20.555906 2014] [core:error] [pid 65:tid 139773788280576] [client 10.164.12.48:57546] AH00124: Request exceed

我正在尝试将我的代码的最新版本部署到Heroku(它在本地工作得非常好,完全相同的代码),我看到了错误500。当我查看heroku日志时,我看到以下错误:

2014-06-15T12:41:20.661382+00:00 app[web.1]: [Sun Jun 15 12:41:20.555906 2014] [core:error] [pid 65:tid 139773788280576] [client 10.164.12.48:57546] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
我将日志级别设置为调试:

heroku config:add LOG_LEVEL=DEBUG
但我还是犯了同样的错误。我还尝试将
RewriteBase/
添加到CakePHP主文件夹中的.htaccess文件中,正如一些人所建议的:

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteBase /
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

重新启动发动机
重写基/
重写规则^$app/webroot/[L]
重写规则(*)app/webroot/$1[L]
我也在webroot文件夹中尝试过,但还是没有成功

人们还说,这可能是由于
/tmp/
文件夹的权限不足造成的,但当我将权限更改为读写Git时,却看不到更改。我甚至在Heroku上部署时强制降级PHP

尽管有这么多建议,我仍然觉得很奇怪,因为我没有在任何配置文件中更改任何内容,也没有更改任何文件的任何权限。有人知道这是什么原因吗?请不要让我参考StackOverflow中的其他帖子,因为我已经看到了所有这些帖子

更新:
回滚到旧代码,使网站重新工作,但有趣的是,无论我向代码中添加什么(即使是一行代码或回音),它都会使网站崩溃!所以我只想说它与我写的代码无关。

也许你的意思是。+在你的第二条重写规则中,它不适用于请求/并导致你循环

每次在htaccess中的RewriteRule中发生替换时,整个规则集都会在替换上再次运行。

现在这是固定的:

潜在的问题是使用默认重写将对
.php
文件的请求代理到php-FPM的方式,这偶尔会干扰用户土地重写

然而,您真正应该做的是,它是
app/webroot/
,而不是先重写到那个位置(然后让
.htaccess
在那里进行另一轮重写)

创建、添加、提交和推送一个如下所示的
Procfile

web: vendor/bin/heroku-php-apache2 app/webroot/

您不能使用这样的配置变量设置Apache
LogLevel
。最接近的方法是使用with
LogLevel rewrite:debug
和其他一些东西(比如
DirectoryIndex.php
),这让我非常痛苦,直到我联系Herku支持部门。谢谢:)