php - 更改参数顺序的 Laravel 路由中出现 404 错误
问题描述
我的 Laravel 路由有一个奇怪的问题。当我使用这个网址时,一切都很完美:
Route::get('properties/{product}', 'ProController@getpro');
但是,当我想像下面这样更改顺序时,我得到一个 404 not found 页面:
Route::get('{product}/properties', 'ProController@getpro');
问题是什么?
http://127.0.0.1:8000/product/pizza-lake-dariusbury/properties 404(未找到)
我正在使用 Laravel 安装程序版本 2.0.1
解决方案
由于您使用了两条带有通用参数的路由,因此 Laravel 可能无法将 URL 与路由匹配。例如:/product/1/properties
, 完全适合这个{prod?}/{prod_size?}
。
为了解决这个问题,我建议您在路由中添加一些前缀,以识别它们:
Route::get('routename1/{product}/properties', 'ProController@getpro');
Route::get('routename2/{prod?}/{prod_size?}', 'ProController@name');
那就routename1/1/properties
永远不适合了routename2/{prod?}/{prod_size?}
。
然后 Laravel 将能够完美地将 URL 参数与路由匹配。
推荐阅读
- magento - Magento 导航栏上传到服务器后没有出现
- oracle - 如何在 SQL 触发器的 INTO 部分添加额外的列
- flutter - Flutter 中的刷新令牌
- postgis - 如何从实际上在 Postgis 中的多边形内的多边形中获取最近点
- r - 删除ggplot中中断之间的刻度
- android - 我怎样才能找到这个错误的原因?我们检测到您的应用正在使用旧版本的 Google Play 开发者 API
- javascript - CSS JQuery在容器内旋转图像
- python - 为什么 matplotlib .plot(kind='bar') 绘图与 .plot() 如此不同
- python - 如果任何行包含特定字符串,则选择列
- java - 为什么 log4j 日志记录重定向到 Weblogic 上部署的 webapp 中的 stderr?