我注意到有些人有与此类似的问题,但是问题出在他们的虚拟主机和文档根目录上,但是我网站上的大多数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
以确保其存在它不会告诉我这一页吗?
有什么想法吗?!它让我发疯了!
请注意-/cases/create
工作正常,我的索引/
页面工作正常,似乎只是对GET
的{{1}}请求 < / p>
答案 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
条件。但是删除它可能会产生意想不到的副作用。