localhost/project/public/login
使用url的登录路由显示错误:
在此服务器上找不到请求的 URL /test/public/login。Apache/2.4.34 (Ubuntu) 服务器在 localhost 端口 80
但是使用 php artisan serve 命令它工作得非常好。
有什么问题?
这种情况下最常见的错误与无法在 apache 中执行 mod_rewrite 相关:
sudo a2enmod rewrite
systemctl restart apache2
您的本地主机无法正常工作的原因有很多。以下可能是原因之一:
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>
问题可能出在您的 PHP 版本上。在我们的机器中,有两个php:
1. For CLI(command line interface)
2. For apache server
您的 laravel 应用程序可能需要 apache 服务器中更高或更低版本的 php。为了解决这个问题,要么将你在 apache 服务器中的 php 版本更新到你需要的版本,要么为你的项目设置 fpm。然后你的本地主机将开始工作。
您的 laravel 应用程序可能有错误。检查使用命令: sudo tail -f /var/log/apache2/error.log
点击此命令后,您将看到 laravel 应用程序抛出的错误。
但是由于您的 laravel 应用程序使用 serve 命令运行良好,所以您的问题很可能是因为 CLI 和 apache 服务器(前端)中的不同 PHP 版本。因此,您应该设置 fpm 或升级或降级 apache 服务器 php 版本。
我遇到了同样的问题,我通过为我的项目设置 fpm 来解决它。谢谢
已解决:操作系统:ubuntu 18.10
/etc/apache2/apache2.conf
将此行添加到此 apache2.conf 文件中:
<Directory /var/www/html/> AllowOverride all </Directory>