【问题标题】:How to fix bizarre incorrect Laravel routing?如何修复奇怪的错误 Laravel 路由?
【发布时间】:2020-02-22 04:07:45
【问题描述】:

我正在 Laravel 6 中构建一个简单的网站。我使用内置的 Laravel artisan 工具来创建身份验证路由和视图。

登录后,用户应该被重定向到/home。但是,Laravel 时不时会重定向到 /js/popper.js.map

我不知道 Laravel 为什么要这样做!我搜索了错误日志,但无济于事。我正在使用 Bootstrap,但我从未明确告诉 Laravel 导入或使用 Popper。我不知道为什么它特别想去这个特定的文件?我已经有这个问题好几个星期了。

有时运行 php artisan config:cache 和 cache:clear 帮助,但并非总是如此。此外,它有时会发生在我的远程服务器或本地服务器上,但通常不会同时发生,因此很难调试。

我已经使用内置的 Laravel Auth 声明了 Auth 路由。像这样:

php artisan ui bootstrap

在 web.php 中: Auth::routes();

我希望登录后重定向到/home,然后重定向到welcome/red(我的软件的一部分)。相反,它卡在js/popper.js.map和404s。登录 WORKS,我可以访问经过身份验证的内容。但是无缘无故卡在 404 页面是一种糟糕的用户体验。

有没有人知道 Laravel 从哪里得到重定向到 /js/popper.js.map 的想法?谢谢!!!!

【问题讨论】:

  • 你使用的是 nginx 还是 apache?发布配置
  • 我使用的是 Apache,除了包含 Phpmyadmin 之外没有修改默认的 apache2.conf。
  • 在网络控制台中,当您使用您的站点时,看看是否有任何对js/popper.js.map 的请求......您的.htaccess 文件设置如何?我能想到的唯一奇怪的事情是laravel正在处理对该js文件的请求,然后将该路径保存为“预期” url,因为您未经过身份验证,登录后它会尝试将您重定向回您尝试访问的内容(预期的 url),我能看到的唯一猜测是 laravel 正在做......但这仍然需要一些路由来匹配 auth 中间件参与
  • Popper 是 Bootstrap 的依赖项,但这不是正常的行为——我从未见过这种情况发生,也从未见过这样的事情发生的报告,所以它可能是独一无二的你的设置。从php artisan route:list的输出开始。
  • 所以我可能已经解决了这个问题。我安装了 Telescope 并注意到 js/popper.js.map 导致 302 error。对“不良路线 302”的一些研究导致 StackOverflow 帖子建议删除斜杠。我的路线看起来像Route::get('/about', PagesController@about');。更改为 `Route::get('about', PagesController@about');` 现在似乎可以工作。如果我继续遇到此问题,将报告。我仍然想知道为什么,但现在它有效...感谢您的回答,谢谢!!!

标签: php laravel laravel-6


【解决方案1】:

我从来没有遇到过这个问题。也许你可以从一个简单的控制器和视图开始?没有加载任何资产和包?从那时起,一一添加包和资产。你应该找到你的错误。你写过任何测试吗?这应该会有很大帮助!

我假设这个 popper.js 文件是由 npm 包加载的?也许卸载它会有所帮助?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-23
    • 2015-10-04
    • 1970-01-01
    • 2013-05-20
    • 2017-08-03
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多