我的一个项目面临一个奇怪的问题,该网站托管在两台RHEL6.9Linux机器上,并且有一个负载平衡器,以下是服务器配置:
192.168.10.1-具有网站和数据库副本的第一台服务器
192.168.10.2-带网站和数据库副本的第二台服务器
192.168.10.3-负载平衡器
10.66.0.3-负载平衡器的公共IP
现在您可以看到,我们在两个服务器上有相同的网站和数据库副本(我们使用apache、php和mysql手动配置)。例如,网址是:www.mywebsite.com
问题是,当我们试图打开一个错误的URL时,例如www.mywebsite.com/asdfa,它会将我们成功地转到404页,例如www.mywebsite.com/404
但是当我们在错误的url(例如www.mywebsite.com/asdfa)的末尾放置a/
时,它不会将我们带到404页,而是显示连接超时错误,并在url中显示负载平衡器的公共IP地址:10.66.0.3/asdfa
我不知道为什么会这样。域没有按照laravel的建议指向公共文件夹,我正在使用.htaccess从URL中删除public。这可能是问题所在吗?
-------编辑---------
实际上,在检查了更多内容之后,我意识到问题出在url的末尾。每当我键入任何URL时,即使它是一个有效的URL,但它以/-结尾,处理请求需要一些时间,然后我们会得到连接超时错误。请参见此处的错误页:Connection Timed Out error注意,我试图打开一个有效的URL,即mywebsite.com/big-data-analytics,但当我在最后打开与a/相同的URL时,它会给我连接超时错误,错误页上的URL将用IP地址更改。
最佳答案
路由文件中存在导致此问题的路由。一定是。
有点像
Route::get('/{something}/{something}', ...
关于php - Laravel 5.4-404页面问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48249442/