php - 每个路由在共享主机上都显示 404 消息

标签 php laravel

我正在尝试部署 laravel申请A2Hosting共享主机。我的文档根目录是:/public_html目录。我上传了我的 laravel 中的所有内容将除 public 文件夹之外的应用程序复制到托管的/beta 目录中。

然后我将 public 目录中的所有内容上传到 /public_html 目录。

在我的index.php 文件中,我更改了以下两行:

require __DIR__.'/../beta/vendor/autoload.php';
$app = require_once __DIR__.'/../beta/bootstrap/app.php';

现在我只能正确看到我的应用程序的主页。即 mydomain.com。 mydomain.com 后面的任何超链接都会显示 404 消息。在我的 View 文件中,这就是我引用路径的方式:

<a href="/login">Login</a>

但是部署应用程序后,每当我点击该链接(即 mydomain.com/login)时,我都会收到 404 Not Found: The resource requested could not be found on this server!信息。我尝试改变/loginlogin<a>标签。相同的结果。我该如何解决这个问题?

最佳答案

Eisenheim,这是 htaccess 问题:在您的 Web 项目的根文件夹中获取一个 .htaccess 文件。

并将以下代码放入其中,

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

    RewriteEngine On

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

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

然后尝试不使用 index.php 它应该可以完美工作。

关于php - 每个路由在共享主机上都显示 404 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46647392/

相关文章:

php - 用小数更新MySQL记录

php - 对未登录的用户隐藏产品(使用标签)?

mysql - Laravel 迁移似乎与迁移方案中编码的内容不同

php - 在 laravel 5.8 中为 try catch 编写单元测试

php - 如何从数据库中选择不同的列,每个列给出另一个查询结果的总和(或类似的)?

php - IE8 密码字段显示输入的值而不是显示星号

php - 单击 +1 增加 MySQL 值

php - 如何在 Laravel 中制作我自己的时间戳方法?

Laravel Collection Filter - 获取过滤器的值

javascript - 将 Bootbox 的“确定取消”选项更改为"is"和“否”