nginx伪静态 URL中含有问号?怎么处理?

  • A+
所属分类:网站建设

博客搬家了,放弃了使用已久的emlog,直接搬到了wordpress,主要还是wp更新很频繁,而且功能也更多一些。emlog吧,好久也没更新了,最终想想,还是换了吧。

网站换程序其实是很麻烦的,毕竟网站本身的URL体系,换程序后有可能就完全变了,对做优化的站点来讲,是非常难受的。还好我博客不在意,但是能处理好还是处理一下吧。

emlog默认的url是www.xxx.com/?post=xxx,改用wordpress后,想直接做成伪静态,可搞了半天,依然不成功。最后终于找到问题所在,原来,问号在nginx中是有特殊逻辑的,可以直接用$query_string来表示问号后面的字符。所以,处理后的代码如下:

if ($request_uri ~* "^/\?post=(\d+)$")

set $myarg1 $1;

rewrite .* http://www.lovewj.info/$myarg1.html? permanent;

}

set $myarg1 $1; 这句话不能少,不能直接用$1,会出错的。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • 文娱帝国 文娱帝国 0

      写的很好,很喜欢