虚拟主机在 ubuntu LAMP 堆栈中无法正常工作
Virtual hosts not working properly in ubuntu LAMP stack
我通过以下方式创建了虚拟主机:
- 创建 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>
运行 命令:sudo a2ensite laravel.test
已提供权限:
sudo chown -R www-data: /var/www/laravel
sudo chown -R $USER:$USER /var/www/laravel
sudo chmod -R 755 /var/www
- 在
etc/hosts
上添加了站点名称
127.0.0.1 laravel.test www.laravel.test
重新加载apache sudo systemctl reload apache2
运行 配置测试 sudo apachectl configtest
并收到 Syntax Ok
重新启动了 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
我通过以下方式创建了虚拟主机:
- 创建 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>
运行 命令:
sudo a2ensite laravel.test
已提供权限:
sudo chown -R www-data: /var/www/laravel
sudo chown -R $USER:$USER /var/www/laravel
sudo chmod -R 755 /var/www
- 在
etc/hosts
上添加了站点名称
127.0.0.1 laravel.test www.laravel.test
重新加载apache
sudo systemctl reload apache2
运行 配置测试
sudo apachectl configtest
并收到Syntax Ok
重新启动了 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