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

标签 php apache virtualhost lamp

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

  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 上添加站点名称
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 breeze 的新安装的 laravel 应用程序,所以我非常有信心有一个有效的路线。最重要的是,如果它是 laravel,错误,它会在应用程序级别记录它,并且 404 页面会有不同的 UI。

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

最佳答案

确保您的rewrite 模组已启用。

或者直接在终端中运行

$ sudo a2enmod rewrite

$ sudo systemctl reload apache2

关于php - 虚拟主机在 ubuntu LAMP 堆栈中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67815420/

相关文章:

apache - 如何为 Apache 2.4/ubuntu 13.10 及以上版本设置虚拟主机?

php - http-vhosts.conf 虚拟主机环境变量不起作用

php - 使用 blowfish 加密验证 MySQL

PHP 导入类或命名空间?

php - 如何使用 Laravel 发出删除请求

java - Server Stop responding because of [Pool-Cleaner] :Tomcat Connection Pool but has failed to stop it. 这很可能造成内存泄漏

apache - 如何使用 Apache 重定向对 Node-Red 的请求?

php - mysql数据库auto_id在数据库中排列错误

php - 我可以在 PHP 中使用 .ini 作为配置文件吗?

php - 源码编译php致命PDO异常;找不到驱动程序