虚拟主机在 ubuntu LAMP 堆栈中无法正常工作
Posted
技术标签:
【中文标题】虚拟主机在 ubuntu LAMP 堆栈中无法正常工作【英文标题】:Virtual hosts not working properly in ubuntu LAMP stack 【发布时间】:2021-08-21 05:17:30 【问题描述】:我通过以下方式创建了虚拟主机:
-
创建 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
运行 configtest sudo apachectl configtest
并收到 Syntax Ok
重启apache服务器sudo systemctl restart apache2
现在,当我点击larave.test
时,它会成功加载网站,但是当我尝试点击任何其他路线时,它会返回404
错误,如图所示。
这个应用程序是新安装的带有laravel breeze
的 laravel 应用程序,所以我非常有信心有一条有效的路线。最重要的是,如果是 laravel,错误,它会在应用级别记录它,并且 404 页面会有不同的 UI。
我已经检查了laravel/storage/logs
上的错误日志以及var/log/apache2/error.log
上的 apache2 日志,但是这两个日志文件都是空的。
【问题讨论】:
【参考方案1】:确保您的 rewrite
模组已启用。
或者直接在终端运行
$ sudo a2enmod rewrite
$ sudo systemctl reload apache2
【讨论】:
以上是关于虚拟主机在 ubuntu LAMP 堆栈中无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章