Laravel怎么在Nginx服务器上进行伪静态配置

26次阅读

答案:laravelnginx 上实现伪静态需将 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 服务器上进行伪静态配置

Laravel 在 Nginx 上配置伪静态的核心是让所有请求都指向 public/index.php 入口文件,同时正确处理静态资源。以下是具体配置方法。

1. 确保网站根目录指向 public 文件夹

Nginx 配置中,root 路径必须指向 Laravel 项目的 public 目录,而不是项目根目录。

例如:

root /var/www/laravel-project/public;

2. 配置 Nginx 重写规则(伪静态)

使用 location 块处理动态请求,将非文件 / 目录的请求重定向到 index.php。

完整 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;}

}

Laravel 怎么在 Nginx 服务器上进行伪静态配置

冬瓜配音

AI 在线配音生成器

Laravel 怎么在 Nginx 服务器上进行伪静态配置 66

查看详情 Laravel 怎么在 Nginx 服务器上进行伪静态配置

3. 关键说明

核心在于 try_files 指令:

  • $uri:先尝试请求的文件是否存在
  • $uri/:再尝试是否为目录
  • /index.php?$query_string:以上都不匹配时,交给 Laravel 路由 处理

这样就实现了 URL 伪静态,比如访问 /user/profile 不会报 404,而是由 Laravel 的 RouteServiceProvider 解析。

4. 重启 Nginx 生效

保存配置后测试语法并重载服务:

sudo nginx -t          # 测试配置是否正确 sudo systemctl reload nginx  # 重新加载配置

基本上就这些。只要 public 路径正确、try_files 写对、PHP 进程正常,Laravel 就能正常运行在 Nginx 下。

以上就是 Laravel 怎么在 Nginx 服务器上进行伪静态配置的详细内容,更多请关注 php 中文网其它相关文章!

站长
版权声明:本站原创文章,由 站长 2025-11-11发表,共计1335字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources