Laravel 中的 API 路由
APIs Route in Laravel
我在api.php:
中有这样一条路线
...
Route::resource("infos",PaymentController::class)->only([
'show','store'
]);
...
当我这样称呼我的 API 时:
- /api/infos/ABC123 => 状态码成功:200(在 access.log)
- /api/infos/ABC123/ => 有区域2日志(状态码:301;然后是状态码200)
- /api/infos/ABC123//// => 有区域2日志(状态码:301;然后是状态码200)
为什么我添加斜杠符号时,access.log 中有 2 行?
谢谢!
因为当你添加 / 然后 Laravel 将它重定向到没有 / 的地址。
Laravel 附带的 .htaccess
文件中有一个部分使用重定向去除尾部斜杠。
这来自 .htaccess
文件,can be found here:
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
因此,您看到的第一行是由此 .htaccess
代码触发的重定向,第二行是没有斜杠的最终请求。
我在api.php:
...
Route::resource("infos",PaymentController::class)->only([
'show','store'
]);
...
当我这样称呼我的 API 时:
- /api/infos/ABC123 => 状态码成功:200(在 access.log)
- /api/infos/ABC123/ => 有区域2日志(状态码:301;然后是状态码200)
- /api/infos/ABC123//// => 有区域2日志(状态码:301;然后是状态码200)
为什么我添加斜杠符号时,access.log 中有 2 行?
谢谢!
因为当你添加 / 然后 Laravel 将它重定向到没有 / 的地址。
Laravel 附带的 .htaccess
文件中有一个部分使用重定向去除尾部斜杠。
这来自 .htaccess
文件,can be found here:
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
因此,您看到的第一行是由此 .htaccess
代码触发的重定向,第二行是没有斜杠的最终请求。