加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

nginx用查询字符串重写url

发布时间:2020-12-13 21:19:49 所属栏目:Nginx 来源:网络整理
导读:我一直在谷歌上搜索,并且无法想出这个.看起来很简单,我确信它是,但我不是服务器专家. 我的网址是:http://www.example.com/blog/?tag = Word1 Word2 有些标签是单个字(例如:自行车),有些标签更长(例如:两轮自行车). 我需要将此url输出为:example.com/bl

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读