只有根路径在新的 Laravel-8 安装中有效,所有其他都给 404
Posted
技术标签:
【中文标题】只有根路径在新的 Laravel-8 安装中有效,所有其他都给 404【英文标题】:only the root route works in a fresh Laravel-8 installation, all other give 404 【发布时间】:2020-12-28 22:49:41 【问题描述】:我正在使用 php74 的 Apache24 上运行 Laravel 8.0.1
当我创建一个新项目时,欢迎页面呈现良好。如果我添加另一条路线,我总是会收到 404
% composer create-project --prefer-dist laravel/laravel test123
Installing laravel/laravel (v8.0.1)
- Installing laravel/laravel (v8.0.1): Loading from cache
...
...
Package manifest generated successfully.
69 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan key:generate --ansi
Application key set successfully.
%
% cd test123
% chmod a+w storage/logs/ storage/framework/sessions/ storage/framework/views/ bootstrap/cache/
% npm install
% npm run dev
Laravel 页面现在可以正常渲染了。看好我:)
但是如果我向routes/web.php
添加一条新路由
Route::get('/about', function ()
return view('welcome');
);
然后尝试访问 /about 页面,我会得到 404
不幸的是storage/logs/laravel.log
是空的(访问/页面时也没有条目)
【问题讨论】:
Laravel 404 还是网络服务器 404?如果是网络服务器的 404 页面,通常是带有“漂亮 url”的错误配置 这是来自网络服务器的 404... 我会检查配置。 Laravel 提供了一个 .htaccess 文件,这个文件还在……我会尽快报告 您可能需要在站点配置中处理AllowOverride
以允许.htaccess
文件执行所需的操作……但我已经很长时间没有使用apache了跨度>
【参考方案1】:
ApacheConfiguration 在 DocumentRoot 上有 AllowOverride None
,因此 .htaccess 无法覆盖。将此选项设置为 All(或 .htaccess 文件中提到的选项)就可以了
感谢 lagbox 为我指明正确的方向
【讨论】:
以上是关于只有根路径在新的 Laravel-8 安装中有效,所有其他都给 404的主要内容,如果未能解决你的问题,请参考以下文章
App Engine 上的 Laravel 8:“请提供有效的缓存路径”