【问题标题】:Routes not working after deploying Laravel 5 project into hosting将 Laravel 5 项目部署到主机后,路由无法正常工作
【发布时间】:2019-07-20 21:50:01
【问题描述】:

我刚刚将我的 Laravel 5 项目上传到托管服务器。索引页面几乎可以正常工作,但每个链接都已损坏。每条路由都会返回一个内部服务器错误消息。 这是实际的消息:

内部服务器错误

服务器遇到内部错误或配置错误,并且 无法完成您的请求。

请联系服务器管理员,并告知时间 发生错误,以及您可能做过的任何事情 导致错误。

有关此错误的更多信息可能在服务器错误中可用 记录。

此外,在执行过程中遇到 500 Internal Server Error 错误 尝试使用 ErrorDocument 来处理请求。

我已经将存储文件夹权限设置为 777,但我什至没有收到错误日志。

有什么建议吗?

【问题讨论】:

  • 读取服务器错误日志,看看实际错误是什么...
  • 这可能是 url 重写问题。你有没有遵循这个? laravel.com/docs/5.0#pretty-urls ?
  • 我的托管服务不提供错误日志
  • 我的 .htaccess 适用于 Laravel 4,但不适用于 Laravel 5。我尝试了您链接中的说明,但没有成功
  • 我不得不销毁我的 .htaccess 并修复它,以便服务器进行更新。谢谢大家。

标签: laravel-5


【解决方案1】:

最后我可以解决它添加

RewriteBase /

到我的公用文件夹中的 .htaccess 文件。

这是我完整的 .htaccess 文件:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On
RewriteBase /

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

最奇怪的是我已经尝试过了,因为这就是我用 Laravel 4 解决同样问题的方法。让它起作用的是变化

RewriteBase /

给不正确的

RewriteBase ../

然后改回

RewriteBase /

然后神秘地解决了。

我希望这对任何人都有帮助。现在是 5:22,我需要睡觉

【讨论】:

  • 我也遇到了同样的问题,试过了还是不行
  • 我只能查看主页,但其他路线显示 404(在 plesk 使用 Laravel)
  • 你刚刚描述了这篇文章的问题。您是否已经编辑了您的 .htaccess?
  • 我将它用作我的 laravel 项目的 RewriteBase /admin-boilerplate,通过 httpd.conf 文件中的别名托管
【解决方案2】:

首先确保.htaccess 文件存在于您的public_html 目录中。大多数通过 zip 在 linux 服务器上上传不会自动复制 .htaccess 文件,因为它是隐藏的。

【讨论】:

    【解决方案3】:

    如果您在 public_html 中遗漏了.htaccess,您将遇到此问题,如果您将项目压缩为.zip 或其他人,则不会包含该.htaccess

    【讨论】:

      猜你喜欢
      • 2018-03-24
      • 2018-01-17
      • 2017-10-15
      • 1970-01-01
      • 2016-12-05
      • 2018-02-05
      • 1970-01-01
      相关资源
      最近更新 更多