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

3

我已经按照以下方式创建了虚拟主机:

  1. 创建了laravel.test.conf文件作为配置文件
 - cd /etc/apache2/sites-available
 - sudo nano laravel.test.conf

然后更新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中添加站点名称
127.0.0.1 laravel.test www.laravel.test
  1. 重新加载apache sudo systemctl reload apache2

  2. 运行configtest sudo apachectl configtest 并获得 Syntax Ok

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

现在,当我访问 larave.test 时,网站可以成功加载,但是每当我尝试访问其他路由时,都会返回 404 错误,如图所示。

enter image description here

这个应用程序是全新安装的Laravel应用程序,使用了 laravel breeze ,因此我相信这是一个有效的路由。另外,如果确实是Laravel错误,那么它就会记录在应用程序级别,并且404页面将有不同的UI。

我已经检查了 laravel/storage/logsvar/log/apache2/error.log 上的错误日志文件,但这些日志文件都是空的。

1个回答

6

确保启用了rewrite模块。

或者直接在终端中运行以下命令:

$ sudo a2enmod rewrite

$ sudo systemctl reload apache2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接