我在我的本地主机上安装了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
和这些都不起作用
创建另一个路由,并简单地放入return语句来检查它是否有效。如果你得到另一个404,你的。htaccess文件可能没有生效。
你需要在虚拟主机中为你的DocumentRoot启用AllowOverride All。
类似以下语句的内容:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
将AllowOverride改为All或添加。