虚拟主机在 ubuntu LAMP 堆栈中无法正常工作

Virtual hosts not working properly in ubuntu LAMP stack

我通过以下方式创建了虚拟主机:

  1. 创建 laravel.test.conf 为
 - cd /etc/apache2/sites-available
 - sudo nano laravel.test.conf
  1. 然后将 laravel.test.conf 更新为
<VirtualHost *:80>

    ServerName laravel.test
    ServerAlias www.laravel.test
    ServerAdmin admin@laravel.test

    DocumentRoot /var/www/laravel/public
    <Directory /var/www/laravel/public/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
  1. 运行 命令:sudo a2ensite laravel.test

  2. 已提供权限:

sudo chown -R www-data: /var/www/laravel
sudo chown -R $USER:$USER /var/www/laravel
sudo chmod -R 755 /var/www
  1. etc/hosts
  2. 上添加了站点名称
127.0.0.1 laravel.test www.laravel.test
  1. 重新加载apache sudo systemctl reload apache2

  2. 运行 配置测试 sudo apachectl configtest 并收到 Syntax Ok

  3. 重新启动了 apache 服务器sudo systemctl restart apache2

现在,当我点击 larave.test 时,它会成功加载网站,但是当我尝试点击任何其他路线时,它会出现 returns 404 错误,如图所示。

此应用程序是 laravel 新安装的 laravel breeze,因此我非常有信心有一条有效路线。最重要的是,如果它是 laravel,错误,它会在应用程序级别记录它,并且 404 页会有不同的 UI。

我检查了 laravel/storage/logs 上的错误日志以及 var/log/apache2/error.log 上的 apache2 日志,但是这两个日志文件都是空的。

确保您的 rewrite mod 已启用。

或者只是 运行 在终端

$ sudo a2enmod rewrite

$ sudo systemctl reload apache2