找不到带点(IP地址)的路由,返回404

wuj*_*ujt 1 php laravel lumen lumen-routing lumen-5.4

我用Lumen 5.4

这是我的路线设置方式:

$app->get('/ip/{ip}', GeoIpController::class . '@show');
Run Code Online (Sandbox Code Playgroud)

{ip}路线参数应该是一个IP地址,用它点。但是,当路径中包含点时,似乎存在问题。它返回404 not found错误。

我知道我可以将IP地址作为简单的GET请求参数传入,但希望IP成为URL的一部分并像路由参数一样进行处理。

出于测试目的,我使用php -S localhost:8080 -t public该应用程序。

pat*_*cus 5

这是对PHP内置服务器的限制,而不是Lumen(或Laravel,Slim或带有路由器的任何其他框架/应用程序)的限制。您可以在此处查看PHP错误报告

基本上,如果URL的脚本名称后面的URL中有点,则内置服务器会将请求视为静态文件请求,并且实际上不会尝试通过应用程序运行。

该请求在真实的Web服务器(apache,nginx)上应该可以正常工作,但是在PHP的内置开发Web服务器上运行时将失败。