首页 Nginx nginx用查询字符串重写url

nginx用查询字符串重写url

我一直在谷歌上搜索,并且无法想出这个.看起来很简单,我确信它是,但我不是服务器专家.我的网址是:http://www.example.com/blog/?tag = Word1 Word2有些标签是单个字(例如:自行车),有些标签更长(例如:两轮自行车).我需要将此url输出为:example.com/blog/t

我一直在谷歌上搜索,并且无法想出这个.看起来很简单,我确信它是,但我不是服务器专家.

我的网址是: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 '';

本文来自网络,不代表云浮站长网立场。转载请注明出处: https://www.0766zz.com/html/yunying/nginx/20200901/8542.html
上一篇
下一篇

作者: dawei

【声明】:云浮站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部