Nginx-URLRewrite伪静态

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 请根据你的具体需求和网站结构进行适当的配置更改。这只是一个示例,可以根据你的项目需求进行定制。

Nginx可以使用URL重写来实现伪静态,以改善网站的URL结构和用户友好性。伪静态是将动态URL转换为静态URL的过程,通常以更友好和可读的方式展示在浏览器地址栏中。以下是一个简单的示例,演示如何在Nginx中进行URL重写来实现伪静态。

假设你有一个动态URL如下:

http://example.com/page.php?id=123

你想将其重写为伪静态URL:

http://example.com/page/123

以下是Nginx配置示例:

server {
    listen 80;
    server_name example.com;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ /page/(\d+)$ {
        rewrite ^/page/(\d+)$ /page.php?id=$1 last;
    }

    location ~ .php$ {
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;  # 根据你的PHP配置更改
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    # 其他配置...
}

在上述配置中,我们做了以下操作:

  1. 使用 location /块来处理正常的页面请求,并将未找到的文件传递给 index.php进行处理。
  2. 使用 location ~ /page/(\d+)$块来匹配伪静态URL模式,例如 /page/123。然后,我们使用 rewrite指令将其重写为 /page.php?id=123,其中 $1是正则表达式捕获的匹配项。
  3. 使用 location ~ .php$块来处理PHP脚本请求,将其传递给PHP-FPM进行处理。

请根据你的具体需求和网站结构进行适当的配置更改。这只是一个示例,可以根据你的项目需求进行定制。

目录
相关文章
|
10月前
|
应用服务中间件 nginx
宝塔 配置反向代理出现“伪静态/nginx主配置/vhost/文件已经存在全局反向代理
宝塔 配置反向代理出现“伪静态/nginx主配置/vhost/文件已经存在全局反向代理
938 0
宝塔 配置反向代理出现“伪静态/nginx主配置/vhost/文件已经存在全局反向代理
|
10月前
|
应用服务中间件 nginx
宝塔 配置反向代理出现“伪静态/nginx主配置/vhost/文件已经存在全局反向代理
宝塔 配置反向代理出现“伪静态/nginx主配置/vhost/文件已经存在全局反向代理
|
PHP
宝塔的nginx.在Thinkphp伪静态情况下配置图片裁剪
宝塔的nginx.在Thinkphp伪静态情况下配置图片裁剪
189 0
|
应用服务中间件 nginx
在nginx环境下同一个网站目录下放2个或者多个zblog程序nginx伪静态规则如何写
昨天升级完内核,主站主域名下还有2个zblog程序,升级完后忘记以前伪静态规则咋写了
|
Web App开发 测试技术 应用服务中间件
nginx伪静态 之composer
前言 当公司有一个首页,一个测试页的时候会用到nginx的伪静态 当index.php与index1.php,的时候可以用到。 峰会路转言归正传开整 location / {           index index.
1145 0