无法在 Apache 上使用 Laravel 8 的 Jetstream 获取 login/register 页面

Unable to get the login/register pages with Laravel 8's Jetstream on Apache

我已经安装了 Laravel 版本 8,并使用 --jet 标志制作了一个项目,之后我还 运行 npm install && npm run dev,并且还有运行 迁移成功(由 artisan 的消息确认并查看我的数据库并查看那里的表格),并且 mydomain.loc 向我显示 Laravel的欢迎页面,但我的问题是 mydomain.loc/register 不显示注册页面,mydomain.loc/login 也不显示。在浏览器中输入这些地址会显示 Apache 的 404 页面(mod_rewrite 也已启用,我也尝试重新启动 Apache 服务)。

我在 Ubuntu 20 虚拟机上 运行ning Apache2,它在 DocumentRoot /var/www/html/myproj/public 中为我的 Laravel 项目提供服务。此外 MySQL 在 VM 中 运行ning,我已将其信息添加到 .env 文件和 config/database.php 中,奇怪的是一切“似乎”都能正常工作很好(数据库连接正常...并且还显示了 Laravel 的欢迎页面...)除了登录和注册页面。

不确定这是否重要,而且由于这只是在开发中,我也在项目的根目录上做了一个 chmod 777 -R,以确保它不是一个权限问题。

这是我的 Apache 站点的配置(只有对这个问题重要的部分):

# nano /etc/apache2/sites-available/mydomain.loc.conf
        ServerName mydomain.loc
        ServerAlias www.mydomain.loc

        DocumentRoot /var/www/html/myproj/public

这是我的 routes/web.php 文件中的内容:

Route::get('/', function () {
    return view('welcome');
});

Route::middleware(['auth:sanctum', 'verified'])->get('/dashboard', function () {
    return view('dashboard');
})->name('dashboard');

听起来您没有为 url 重写正确配置站点(相当 urls)。因为你至少应该得到一个 Laravel 404 错误而不是网络服务器。这意味着重写不起作用,它正在寻找 file/folder 而不是移交给 index.php 文件。

Laravel 8.x Docs - Installation - Pretty URLs