【发布时间】:2019-01-18 22:11:38
【问题描述】:
这似乎以前被问过,但是这些帖子中建议的方法都没有为我解决这个问题。
到目前为止我做了什么:
- 已运行
make:auth命令,该命令创建了auth子文件夹、控制器并将Auth::routes();行添加到web.php等。 -
app.blade.php中的@guest行正常工作,并在导航栏中显示登录、注册链接。 -
登录链接如下所示:
<a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>这一行正确启动了“http://localhost/MyWebsite/public/login”,但它没有显示默认登录页面内容,而是显示 Laravel 错误页面说抱歉,找不到您要查找的页面。
-
LoginController的构造函数在我加载我加载索引页面时被命中。 -
route list命令显示以下路线以及其他路线:GET|HEAD login login App\Http\Controllers\Auth\LoginController@showLoginForm web,guest - 我对@987654332@ 文件进行了多次修改,从SO 上的不同接受答案中复制了内容。我也试过空的
.htaccess文件。 - 我也运行过
config:cache和view:clear命令。
还有其他的建议吗?
我正在使用 VSCode + XAMPP + Laravel 5.6。我已经在 MySQL 数据库上正确运行了迁移,并创建了 users 表。
【问题讨论】:
-
你的 docroot 应该是 public 目录,看来你目前是上面的一个。如果 URL 仅为 /login,则路由登录可能会匹配。
-
是的。事实上,我住的地方比本地主机低两层。我的完整路径是
localhost/MyWebsite/public。即使我删除了MyWebsite,public文件夹仍然存在,因为它来自 Laravel。我应该在路由中进行哪些更改以使其引用正确的文件夹? -
这听起来你的页面内容中缺少 csrf 令牌。
-
你的 Apache conf 中应该有一个名为
DocumentRoot的设置,你可以调整。不过,我总是发现使用ServerName像 projectxy.local 为每个项目创建一个额外的VirtualHost比将项目放在子目录中更方便。 -
@TobiasK:你是个好人。这解决了我的问题。谢谢