nginx用查询string重写URL

我一直在使用Googlesearch,无法找出这一个。 这看起来很简单,我相信这是,但我不是服务器专家。

我的url是: http://www.example.com/blog/?tag=Word1+Word2 : http://www.example.com/blog/?tag=Word1+Word2 tag=Word1+ http://www.example.com/blog/?tag=Word1+Word2

一些标签是一个单词(例如:自行车),有些更长(例如:双轮自行车)。

我需要这个url输出为: example.com/blog/tag/word1-word2/

我怎样才能获得重写呢?

你应该发送你的查询,而不是+获得相同的格式,并提出一个更简单的请求:

 location ~ /blog/ { if ($args ~* "tag=(.*)") { set $w1 $1; rewrite .* /blog/tag/$w1/? permanent; } } 

基于我发布的链接

? 在最后将删除查询string参数(从重写文档 )

如果你指定一个? 在重写结束后,Nginx将放弃原始的$ args(参数)

另一个实现它是设置参数为空:

 set $args '';