Laravel仅在某些路线上显示“索引”页面

时间:2019-05-13 16:22:19

标签: php laravel laravel-5

我注意到有些人有与此类似的问题,但是问题出在他们的虚拟主机和文档根目录上,但是我网站上的大多数URL都运行良好。

例如,如果我创建以下路线

Route::get('cases', function(){
    dd('here');
});

Route::get('bookings', function(){
    dd('there');
});

my.local/bookings可以正常工作,但是my.local/cases仅向我显示/ cases 页面的索引。

我已经将代码回滚到肯定可以使用的时间,但是它仍然返回/ cases 页面的索引。

为什么laravel会随机停止某些路线?

这里是我到目前为止所看到的

  • 将代码恢复到工作状态
  • 转储作曲家自动加载
  • 检查php artisan route:list以确保其存在
  • 尝试使用服务器别名以查看是否可以使用本地IP
  • 更改我的PHP版本

它不会告诉我这一页吗?

有什么想法吗?!它让我发疯了!

请注意-/cases/create工作正常,我的索引/页面工作正常,似乎只是对GET的{​​{1}}请求 < / p>

1 个答案:

答案 0 :(得分:0)

此行为的原因是默认的.htaccess重写规则:

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

这两个条件定义,如果没有与URL匹配的实际文件或文件夹,则仅应将请求转发到index.php(并因此转发到Laravel)。

似乎cases中有一个public文件夹,因此Laravel将不会处理对该文件夹的请求。

您可以重命名public/cases文件夹/路由,也可以删除第一个RewriteCond条件。但是删除它可能会产生意想不到的副作用。