【问题标题】:Why is Heroku trimming trailing slashes?为什么 Heroku 会修剪斜杠?
【发布时间】:2016-02-08 21:48:17
【问题描述】:

我有一个正在为 Heroku 环境开发的 Laravel webapp。在 heroku 环境中,如果我访问带有斜杠的 URL(即http://example.com/),我会得到一个 301 重定向,删除了斜杠(即http://example.com)。这将是一个很好的行为,除了重写是从 https 移动到 http!

我花了一些时间尝试在我的开发环境中本地重现该问题,但我不能,这让我相信问题出在 Heroku 的 Apache 配置上,但上传自定义 .htaccess 关闭 RewriteEngine 没有'也不要停止重写。

有没有人遇到过类似的问题?

我的 procfile 只包含web: vendor/bin/heroku-php-apache2 public,所以它非常小。

【问题讨论】:

    标签: php apache heroku laravel-5


    【解决方案1】:

    Heroku 不执行此类重定向。如果启用,Apache 会为目录索引添加斜杠,仅此而已。

    您的应用程序在代码或.htaccess 的某个地方进行重定向,并且请求协议未保留,因为对测功机的请求是 HTTP - SSL 的终止发生在负载平衡器处。

    将您的应用程序设置为信任 Heroku 负载均衡器作为代理,以便它从 X-Forwarded-Proto 读取请求协议,或者更改您的重写规则来做到这一点。

    【讨论】:

    • 关于 X-Forwarded-Proto 的那一点对我来说是全新的,这就是请求切换协议的原因。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    • 2014-09-06
    • 2017-02-25
    相关资源
    最近更新 更多