项目中的url伪静态配置

伪静态配置,现在有个url带get请求的伪静态配置,比如
链接 http://域名/10.html?fid=3 想通过伪静态配置,
然后url显示成 http://域名/10/fid/3.html
然后就是配置好了之后,是写在项目对应的.conf文件还是nginx文件里
(阿里云的云服务器,配置的lnmp环境)
找了网上的一些方法试着弄了一下,都没成功

要实现将带有GET请求参数的URL进行伪静态处理,可以使用nginx内置的Rewrite模块来重写URL。具体步骤如下:

  1. 在nginx配置文件中打开Rewrite模块,确保指令rewrite_log on;已经打开,用于记录Rewrite日志。

  2. 在对应虚拟主机或server的location段中添加伪静态规则,如下所示:

location / {
    # 如果url中含有fid参数
    if ($args ~* "fid=([^&]+)") {
        # 将url中的参数值赋给变量$fid
        set $fid $1;
        # 将url由“/数字.html?fid=数字”重写成“/数字/fid/数字.html”
        rewrite ^/(\d+)\.html$ /$1/fid/$fid.html permanent;
    }
}
  1. 重新加载nginx配置文件以使修改生效。可以通过命令sudo service nginx reload或者sudo nginx -s reload来实现。

注意事项:

  • 确保Rewrite规则正确匹配到需要重写的URL。
  • 匹配成功后要确保Rewrite规则结果能够映射到正确的资源文件路径。
  • 不要在nginx主配置文件中直接配置规则,而应该在每个虚拟主机或server的location段中单独配置。
  • 要谨慎设置永久重定向(permanent)标识。测试阶段可以使用临时重定向(redirect)标识。