【发布时间】:2020-12-10 22:31:30
【问题描述】:
我在使用 Laravel 时遇到了一个有线问题,其中包含多个参数(强制/可选)的路由不起作用。
环境信息
- 本地:Windows、XAMPP、PHP 7.3
- 生产:Ubuntu 18.04,PHP 7.4
最初,我怀疑 .htaccess 文件存在问题,但这似乎不是问题。 这在我的本地上完美运行,但由于某种原因,这在 Ubuntu 服务器上不起作用。
以下代码完美运行。
Route::any('route/me/','Tst@routeme');
但是,以下任何一项都不起作用:
Route::any('route/me/here/','Tst@routeme');
Route::any('route/me/here/{id?}','Tst@routeme');
Route::any('route/me/here/and/here','Tst@routeme');
请问有什么建议可以解决这个问题吗?
【问题讨论】:
-
我很好奇,为什么你的本地和生产环境运行不同版本的 PHP?另外,当您说路线不起作用时,究竟发生了什么?
-
你使用 Route::any 而不是 Route::get,所以任何基于 Available Router Methods 的 'route/me' 都将检查 get 'route/me',post 'route/me' ,把'route/me',补丁'route/me',删除'route/me',选项'route/me'。尝试将 ::any 更改为 ::get ,并检查您的终端 php artisan route:list
-
@spholt,我知道这很难看,但我的本地还有其他需要该版本的客户端项目。因此差异:\
标签: php laravel routes laravel-7