我试图让Laravel 5(5.1.31)在找不到页面时返回404的http状态响应.我尝试了几件事,它总是返回200.
在我的控制器中我有这个:
else
{
header('HTTP/1.0 404 Not Found');
return view('errors.404);
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
else
{
http_response_code(404);
return view('errors.404);
}
Run Code Online (Sandbox Code Playgroud)
和
else
{
abort(404, 'Page not found');
}
Run Code Online (Sandbox Code Playgroud)
我也试过把它放在404.blade中
@inject( 'response', 'Illuminate\Http\Response' )
{{ $response->status(404) }}
Run Code Online (Sandbox Code Playgroud)
没有成功.无论我尝试什么,Laravel都会返回200.如何让它返回404?
我正在我的计算机上开发 NodeJS/ExpressJS 应用程序。我在本地运行节点。我有一个单页网络应用程序。当它需要信息时,它会使用 jQuery 发出 ajax 请求。
问题是当我对不同的数据集有多个请求时。Node/express 将开始处理第一个请求,然后第二个请求在第一个请求完成之前进入,它将响应从第一个请求发送到第二个请求,而不是像它假设的那样将它发送到第一个请求。如果我在我的应用程序中暂停(使用警报)以减慢它的速度,因此在第一个请求完成之前不会发送下一个请求,一切正常。
我不明白为什么会这样。我认为 node / express 应该能够处理这个问题并将请求分开。
此外,我在节点中收到“发送后无法设置标头”错误,因为它显然正在合并请求....
这是发生的事情
ajax request 1 -> server
ajax request 2 -> server
ajax request 3 -> server
server -> request1 ( no response )
server -> request2 ( request 1's data)
server -> request3 ( request 2's data)
server for request3 --> error: header's already sent
Run Code Online (Sandbox Code Playgroud)
我在运行 Node 8.9.4 和 Express 4.16.2 的 Windows 10 机器上使用带有 jQuery 3.3.1 的 Google Chrome 63
我的解决方法是链接 ajax 请求,以便在前一个请求收到来自服务器的响应之前不会调用每个请求。但我不应该这样做......
这是相关的服务器代码: …
我正在将网站迁移到已为 Laravel 5 创建的网站的新版本,
但是,我需要链接到旧站点上子目录中的一些旧静态内容,因此我想创建一个路由,自动将任何对特定子目录的查询重定向到旧站点。
例如:
用户转到:
www.site1.com/brochures/brochure1
Run Code Online (Sandbox Code Playgroud)
我希望它重定向到:
www.oldsite.com/brochures/brochure1
Run Code Online (Sandbox Code Playgroud)
我想让它对任何进来的东西执行此操作
www.site1.com/brochures/whatever ...
Run Code Online (Sandbox Code Playgroud)
我希望它复制相同的路径,但重定向到旧站点。我不想放入每本小册子,因为每隔一段时间就会添加新的小册子......