Laravel - 路由不起作用
Posted
技术标签:
【中文标题】Laravel - 路由不起作用【英文标题】:Laravel - doesn't work routing 【发布时间】:2016-11-05 06:35:31 【问题描述】:我的本地主机上有 Laravel(如果重要的话,在 Ubuntu 上)。
Route::get('/', function ()
$tasks = Task::orderBy('created_at', 'asc')->get();
return view('layouts/tasks', [
'tasks' => $tasks
]);
);
我有这样的路线,它可以在 localhost/public/ 上运行
但是如果我尝试使用这样的路由创建新页面,例如 localhost/public/test:
Route::get('/test', function ()
$tasks = Task::orderBy('created_at', 'asc')->get();
return view('layouts/tasks', [
'tasks' => $tasks
]);
);
返回:
404 (The requested URL /public/test was not found on this server.)
另外,我尝试了/test/
、test
和/public/test
,但这些都不起作用。
【问题讨论】:
您使用的是 Apache 还是 nginx?您应该首先解决您的 /public 问题。 您是否启用了mod-rewrite
?
【参考方案1】:
制作另一条路线并简单地放入一个返回语句以检查它是否有效。如果你得到另一个 404,你的 .htaccess 文件可能没有生效。
您需要在虚拟主机中为 DocumentRoot 启用 AllowOverride All。
类似的东西:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
只需将您的 AllowOverride 更改为 All 或添加它。
【讨论】:
以上是关于Laravel - 路由不起作用的主要内容,如果未能解决你的问题,请参考以下文章