【发布时间】:2017-10-19 19:41:08
【问题描述】:
我使用Lumen 5.4。
我的路线是这样设置的:
$app->get('/ip/{ip}', GeoIpController::class . '@show');
{ip} 路由参数应该是一个 IP 地址,其中包含点。但是,当路线中有点时,似乎存在问题。它返回一个 404 not found 错误。
我知道我可以将 IP 地址作为简单的 GET 请求参数传递,但希望 IP 成为 URL 的一部分并像路由参数一样处理。
出于测试目的,我使用php -S localhost:8080 -t public 为应用程序提供服务。
【问题讨论】:
-
根据我使用 Laravel 的经验,我没有看到路由参数中的点是一个问题,但是,我也从未使用
/开始路由。据我所知,路由是相对于前缀的(或者 / 如果没有设置前缀),所以ip/{ip}是你应该使用的。看看这是否能解决您的 404 问题。 -
我担心这个请求永远不会到达 Lumen 并且它被服务器以某种方式杀死了。
-
那么问题与 Lumen 无关?您使用的是什么网络服务器?有什么错误吗?您是否通过 index.php 正确路由了它?
-
对ip进行基础编码并在控制器中解码
-
@Devon 用于测试目的我使用
php -S localhost:8080 -t public/,因为 Lumen 没有像 Laravel 这样的内置服务器。我没有在舞台上登记。我有 nginx。
标签: php laravel lumen lumen-routing lumen-5.4