URL中的双斜杠会自动转换为$ _SERVER ['REQUEST_URI']中的单斜杠

时间:2019-04-24 11:03:51

标签: php laravel amazon-web-services nginx amazon-ec2

我正在一个网站上工作,当有人在URL中添加双斜杠时,我需要显示404页。

我已经编写了检查REQUEST_URI的逻辑,如果有双斜杠,那么我将显示404页...

但是当我在URL中添加双斜杠时,它在REQUEST_URI中显示了单斜杠,但在URL中却是双斜杠...

在这里,我附上了相同问题的屏幕截图。

  

例如:如果我输入 www.example.com//check ->,则该名称即将到来   为 REQUEST_URI 中的 / check ,但我希望它应为 // check

     

站点托管在 AWS云负载平衡器(ELB)中。在本地设置   工作兴旺,但在生产中却是创造问题。

有人可以帮助我如何防止这种情况发生?

enter image description here

1 个答案:

答案 0 :(得分:0)

Laravel 5.5.5在路由中引入了一项新功能,称为Route :: fallback()。基本上,如果没有路由匹配,则回退功能是一种覆盖默认404页面并引入其他逻辑的方法。运作方式如下。

Route::fallback(function() {
    return 'Hm, why did you land here somehow?';
});