首页 > 解决方案 > Heroku PHP 应用程序在某些链接上出现 302 错误,而不是其他链接

问题描述

我正在将一个有效的 PHP 应用程序从我的本地主机 XAMPP 迁移到 Heroku,我的一些链接给了我 302 错误,加载页面显示:

“此页面无法正常工作

mywebsite.heroku.com 发送了无效响应。

ERR_INVALID_REDIRECT"

这是我针对该特定链接的代码:

<a href="<?php echo $web_url . 'admin'; ?>">Admin</a>

这是另一个执行相同操作的断开链接的代码:

 <a href="<?php echo $web_url . 'account'; ?>">Login/Register</a>

但是,下面是链接的代码,该代码直接位于该链接下方,可以完美运行:

<a href="<?php echo $web_url . 'cart'; ?>">View Cart</a>

这是定义了该变量的代码。

$web_url = "https://" . $_ENV["HTTP_HOST"] . "/";

编辑:我已将其范围缩小到将用户带到输入数据的页面的链接。这是一个电子商务网站,因此用户可以在其中输入帐单信息和信用卡信息进行帐户注册、登录、管理员登录和结帐。

我认为这与apache服务器有关。我没有 - 没有 - .htaccess 文件,因此其中没有任何内容会导致此重定向。

任何想法表示赞赏。我试图避免花一周时间阅读整个 apache 文档。

标签: apachehttpherokuphp-7http-status-code-302

解决方案


会怀疑问题出在这里...

$app_path = '/' . $dirs[1] . '/' . $dirs[2] . '/';

应该是(由于从零开始的索引):

if(sizeof($dirs) == 2) {
    $app_path = '/' . $dirs[0] . '/' . $dirs[1] . '/';
}

mod_rewrite在请求命中任何脚本之前,最好用 , 重写。

...在本地主机上开发时,xdebug是一个很好的工具。


推荐阅读