1

localhost/project/public/login使用url的登录路由显示错误:

在此服务器上找不到请求的 URL /test/public/login。Apache/2.4.34 (Ubuntu) 服务器在 localhost 端口 80

但是使用 php artisan serve 命令它工作得非常好。

有什么问题?

4

3 回答 3

0

这种情况下最常见的错误与无法在 apache 中执行 mod_rewrite 相关:

sudo a2enmod rewrite
systemctl restart apache2
于 2020-10-20T11:46:35.470 回答
0

您的本地主机无法正常工作的原因有很多。以下可能是原因之一:

1.确保在 /etc/apache2/sites-available/your-conf.conf 文件中包含以下内容:

    ServerName     www.your-url.test
    ServerAlias    your-url.test
    ServerAdmin    webmaster@localhost
    DocumentRoot   /your-path/your-project/public

    <Directory /your-path/your-project>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>
  1. 问题可能出在您的 PHP 版本上。在我们的机器中,有两个php:

     1. For CLI(command line interface)
     2. For apache server
    

    您的 laravel 应用程序可能需要 apache 服务器中更高或更低版本的 php。为了解决这个问题,要么将你在 apache 服务器中的 php 版本更新到你需要的版本,要么为你的项目设置 fpm。然后你的本地主机将开始工作。

  2. 您的 laravel 应用程序可能有错误。检查使用命令: sudo tail -f /var/log/apache2/error.log

点击此命令后,您将看到 laravel 应用程序抛出的错误。

但是由于您的 laravel 应用程序使用 serve 命令运行良好,所以您的问题很可能是因为 CLI 和 apache 服务器(前端)中的不同 PHP 版本。因此,您应该设置 fpm 或升级或降级 apache 服务器 php 版本。

我遇到了同样的问题,我通过为我的项目设置 fpm 来解决它。谢谢

于 2020-08-26T09:33:58.247 回答
0

已解决:操作系统:ubuntu 18.10

/etc/apache2/apache2.conf

将此行添加到此 apache2.conf 文件中:

<Directory /var/www/html/> AllowOverride all </Directory>

于 2019-01-24T02:28:03.380 回答