全球主机交流论坛

标题: nginx这种url 替换该怎么修改啊? [打印本页]

作者: ninqq    时间: 2019-4-9 00:06
标题: nginx这种url 替换该怎么修改啊?
  1. if ($query_string ~* "key=(.*?)$"){
  2.                       set $key $1;
  3.                      rewrite ^/xxx/ /xxx.php  last;
  4.   }
复制代码



可以让访问 /xxx.php?key=aaa  的url格式 转换成这样  /xxx/?key=aaa   格式



有大佬知道怎么加入更多的参数么


/xxx.php?vid=1&key=aaa&page=2

原地址是这样的想转换成

/xxx/?vid=1&key=aaa&page=2

按照上面那个规则添加了些参数 nginx直接报错了

  1. if ($query_string ~* "vid=(.*?)$" "key=(.*?)$" "page=(.*?)$"){
  2.                       set $vid $1;
  3.                       set $key $2;
  4.                       set $page $3;
  5.                      rewrite ^/xxx/ /xxx.php  last;
  6.   }
复制代码



有大佬知道正确的写法么
作者: By小酷    时间: 2019-4-9 00:20
用cloudflare的页面规则做301不就行了吗?
作者: By小酷    时间: 2019-4-9 00:26
cloudflare 页面规则

源  abc.com/*.php*


301到
abc.com/$1/$2
作者: ninqq    时间: 2019-4-9 00:26
By小酷 发表于 2019-4-9 00:20
用cloudflare的页面规则做301不就行了吗?

不是做跳转啊  相当于伪静态那种修改url结构
作者: By小酷    时间: 2019-4-9 00:28
ninqq 发表于 2019-4-9 00:26
不是做跳转啊  相当于伪静态那种修改url结构

一个意思呀,动态跳到动态
伪静态需要 程序本身支持这个模式的映射,光改ningx没用
作者: By小酷    时间: 2019-4-9 00:30
本帖最后由 By小酷 于 2019-4-9 00:32 编辑

你的需要反了,你知道不
是程序本身支持你的静态模式后,你才需要你设计的规则
是用静态的url对应动态的页面输出,只修改你说的规则,并没有实际结果,规则用啥来完成都可以


我大概懂了,程序没有帮你设计好伪静态,需要你自己去设计( ⚆ _ ⚆ )……
作者: ninqq    时间: 2019-4-9 00:31
By小酷 发表于 2019-4-9 00:28
一个意思呀,动态跳到动态
伪静态需要 程序本身支持这个模式的映射,光改ningx没用 ...

囧  我不要跳转




欢迎光临 全球主机交流论坛 (https://loc.010206.xyz/) Powered by Discuz! X3.4