无法在 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,并使用 --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
文件。