不同的url参数指向相同的路由,为什么有的会not fund,有的访问成功呢?

不同的url参数指向相同的路由,为什么有的会not fund,有的访问成功呢?

Route::any('/create/add','\App\Http\Controllers\PostController@create');
Route::any('/post/creates','\App\Http\Controllers\PostController@create');
Route::any('/posts/create','\App\Http\Controllers\PostController@create');

http://img1.sycdn.imooc.com//climg/5ebe5a8f096b5ac811530690.jpg

http://img1.sycdn.imooc.com//climg/5ebe5a6e09c06d7811850780.jpg

http://img1.sycdn.imooc.com//climg/5ebe5a9009cc893214270609.jpg


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕小尤 2020-05-16 15:24:55

同学你好,代码执行是从上到下的,可能在/posts/create路由前存在/posts/{post}这样的路由,导致访问错误。同学可以尝试将需要传递参数的路由,写在后面。

祝学习愉快!

好帮手慕小尤 2020-05-15 19:47:54

同学你好,和路由名称是没有关系的,可能是存在缓存,同学可尝试清除缓存。如下所示:

http://img1.sycdn.imooc.com//climg/5ebe810f095abf7904340448.jpg

如果还存在问题,则建议同学暂时先使用其他路由名称。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 精慕门5873187 #1
    不是,你不觉得奇怪吗,我缓存删除了还是不行,为什么偏偏这个路由名称不能访问该方法?
    2020-05-15 22:02:52
guly 2020-05-15 17:41:35

你好,要确保Route::any('/posts/create','\App\Http\Controllers\PostController@create');首先检查是否存在 posts控制器,

建议改为:

Route::any('/post/create','\App\Http\Controllers\PostController@create'); 进行测试,如果解决您的问题请采纳,祝学习愉快!

  • 提问者 精慕门5873187 #1
    我使用Route::any('/dkakakakka','\App\Http\Controllers\PostController@create'); 都可以访问这个方法 为什么 Route::any('/posts/create','\App\Http\Controllers\PostController@create'); 无法访问? 跟路由名称有关系吗
    2020-05-15 18:38:52
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP典型功能与Laravel5框架开发
  • 参与学习           人
  • 解答问题       722    个

掌握开发中必备技能解锁缓存、支付,邮件和短信发送等高端接口运用,直击工作重难点,通过开发简书项目熟练掌握Laravel5的开发技术。完成以上三个阶段的学习,成为满足企业需求的开发工程师。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师