I use Lumen 5.4
.
这就是我的路线设置方式:
$app->get('/ip/{ip}', GeoIpController::class . '@show');
The {ip}
路由参数应该是一个IP地址,其中带点。然而,当路线中有点时,似乎就会出现问题。它返回 404 未找到错误。
我知道我可以将 IP 地址作为简单的传递GET
请求参数,但希望 IP 成为 URL 的一部分并像路由参数一样进行处理。
出于测试目的,我使用php -S localhost:8080 -t public
为应用程序提供服务。
这是 PHP 内置服务器的限制,而不是 Lumen(或 Laravel、Slim 或任何其他带有路由器的框架/应用程序)。您可以查看PHP 错误报告在这里.
基本上,如果 URL 中的脚本名称后面有一个点,则内置服务器会将请求视为静态文件请求,并且它永远不会真正尝试运行应用程序。
该请求在真实的 Web 服务器(apache、nginx)上应该可以正常工作,但在 PHP 的内置开发 Web 服务器上运行时会失败。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)