答案:Laravel在Nginx上实现伪静态需将root指向public目录,并通过try_files指令将请求重写至index.php。具体配置包括:1. 设置root为项目public路径;2. 使用location /块中try_files $uri $uri/ /index.php?$query_string处理路由;3. 配置PHP-FPM解析.php文件;4. 禁止访问.env等敏感文件;5. 重启Nginx生效。核心是利用try_files实现URL重写,确保所有动态请求由Laravel路由处理,同时静态资源正常访问。

Laravel 在 Nginx 上配置伪静态的核心是让所有请求都指向 public/index.php 入口文件,同时正确处理静态资源。以下是具体配置方法。
例如:
root /var/www/laravel-project/public;
完整 server 配置示例:
server {
listen 80;
server_name your-domain.com;
root /var/www/laravel-project/public;
index index.php index.html;
<pre class='brush:php;toolbar:false;'># 处理前端路由或 Laravel 路由
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# PHP 请求交给 FastCGI 处理
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000; # 根据你的 PHP-FPM 配置调整
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# 避免 .env 等敏感文件被访问
location ~ /\.(env|git) {
deny all;
}}
这样就实现了 URL 伪静态,比如访问 /user/profile 不会报 404,而是由 Laravel 的 RouteServiceProvider 解析。
保存配置后测试语法并重载服务:
sudo nginx -t # 测试配置是否正确 sudo systemctl reload nginx # 重新加载配置
基本上就这些。只要 public 路径正确、try_files 写对、PHP 进程正常,Laravel 就能正常运行在 Nginx 下。
以上就是Laravel怎么在Nginx服务器上进行伪静态配置的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号