【问题标题】:Heroku PHP app getting 302 error on some links, not othersHeroku PHP 应用程序在某些链接上出现 302 错误,而不是其他链接
【发布时间】:2019-03-02 21:17:16
【问题描述】:

我正在将一个有效的 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 文档。

【问题讨论】:

    标签: apache http heroku php-7 http-status-code-302


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

    • 我不应该包含那部分代码,因为它没有被使用。我正在 git 将我的所有更改推送到服务器并使其仅在服务器上运行,因为我对 Web 服务器和本地主机上的更改有不同的反应。在将它放到 Heroku 之前,它在我的本地主机上运行得非常好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 2021-04-10
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多