前端之家收集整理的这篇文章主要介绍了
nginx用查询字符串重写url,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在谷歌上搜索,并且无法想出这个.看起来很简单,我确信它是,但我不是服务器专家.
我的网址是: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;
}
}
基于我发布的链接
?最后将删除查询字符串参数(从rewrite doc)
If you specify a ? at the end of a rewrite then Nginx will drop the original $args (arguments)
另一个实现它是将args设置为空:
set $args '';