首先确保Web服务器指向Laravel的public目录并配置重写规则,Nginx需设置root和try_files指令,Apache需启用mod_rewrite并配置DocumentRoot及AllowOverride权限,最后调整文件权限与所有权以确保正常访问。

如果您尝试在服务器上部署 Laravel 应用,但访问时出现页面路由错误或资源文件无法加载,可能是由于 Web 服务器未正确指向 Laravel 的 public 目录或 URL 重写规则未配置。以下是解决此问题的步骤:
本文运行环境:Dell XPS 13,Ubuntu 22.04
Nginx 需要将请求指向 Laravel 的 public 目录,并启用重写规则以支持隐式 index.php 路由。
1、打开 Nginx 站点配置文件,通常位于 /etc/nginx/sites-available/your-site。
2、确保 server 块中的 root 指向 Laravel 项目的 public 目录,例如:
root /var/www/your-laravel-project/public;
3、在 server 块中添加 location 块以处理所有请求通过 index.php 入口文件:
location / {
    try_files $uri $uri/ /index.php?$query_string;
}
4、确保已配置 PHP 处理模块,如使用 php-fpm:
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
5、测试配置语法并重新加载 Nginx:
sudo nginx -t && sudo systemctl reload nginx
Apache 需启用 .htaccess 支持并配置正确的 DocumentRoot,以确保路由和静态资源正常工作。
1、确认 Apache 已开启 mod_rewrite 模块:
sudo a2enmod rewrite
2、编辑站点配置文件,路径通常为 /etc/apache2/sites-available/000-default.conf。
3、设置 DocumentRoot 指向 Laravel 的 public 目录:
DocumentRoot /var/www/your-laravel-project/public
4、在 VirtualHost 内添加目录权限配置,允许 .htaccess 覆盖:
<Directory "/var/www/your-laravel-project/public">
    AllowOverride All
    Require all granted
</Directory>
5、保存后重启 Apache 服务:
sudo systemctl restart apache2
确保 Laravel 核心目录具有正确的读写权限,避免因权限问题导致配置失败。
1、设置存储和缓存目录可写:
sudo chmod -R 775 storage bootstrap/cache
2、确保 Web 服务器运行用户(如 www-data)拥有项目文件所有权:
sudo chown -R www-data:www-data /var/www/your-laravel-project
3、在浏览器中访问应用首页,确认不再显示“NotFoundHttpException”或 403 错误。
以上就是laravel怎么在Nginx或Apache服务器上正确配置_laravel在Nginx/Apache服务器配置方法的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号