「折腾」Nginx 解析网址参数并跳转

吐槽/反馈/建议:我的咸鱼心  爱发电-@wdssmq

演示网址: https://demo.wdssmq.com/?id=2887

对于如上地址,在 Apache 下可以使用如下规则重定向(301)到伪静态地址。

RewriteCond %{QUERY_STRING} ^id=(.+)$ # 这里的引用是 %1 而不是 $1
RewriteRule ^$ %{REQUEST_SCHEME}://%{HTTP_HOST}/post/%1.html [L,R=301]

至于 Nginx,同时有$query_string$args两个变量用于获取网址参数,效果好像是一样的;

注:$arg_id.html后的?表示跳转后不携带原来的网址参数;

# page + post
if ($args ~* "id=\d+") {
    rewrite ^/$ $scheme://$host/post/$arg_id.html? permanent;
}

↑↑上述代码的 if 语句中使用了正则判断,但是并没有对匹配结果进行捕获,而是使用了$arg_id直接获取到了相应值,同理其他参数也可以使用$arg_参数名来获取。

演示地址实际跳转了两次,第二次由 id 跳转到了别名,该效果由插件[改版助手 - Z-Blog 应用中心]实现。。

2022-05-11:

当年写这篇记录时还没弄 md2zb 体系来发文章,然后因为 301 会被浏览器缓存,清理的时候一并清掉了登录状态,结果编辑好文章发布时失败了。。

正确的清理姿势见:「水坑」浏览器内清理特定网站的 301 缓存_电脑网络_沉冰浮水


爱发电

本文标题:《「折腾」Nginx 解析网址参数并跳转》作者:沉冰浮水
原文链接:https://www.wdssmq.com/post/20201107566.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站分类

搜索

本周旧文

wdssmq/blog-astro: 一个基于 Astro 的静态博客;

本质上,面临一个代码问题时,我们需要的是另一个人愿意为「你」的问题投入精力,并且有相应的技术知识。。

接上一条,Resilio Sync 换 Syncthing 感觉也是略大的工程。。Orz

去年 GoodSync 送了一年授权,然后也确实用上了;本来想着到期就换 Syncthing,结果前几天临期提醒,花 ¥381 续了三年 Orz,两者定位和使用姿势还是有些差别的。。更早是用 Resilio Sync 和 BCompare,但是前者内存占用太高,后者并不是自动同步的定位。。

2024 年了,姑且备份下嘟特存档。。

……,一个不知名的小众样式库 + 内联样式混写这种入坑姿势确实很有槽点,但是,「已经开始学」并且能够持续是绝对值得肯定的。。

在贴吧看过很多提问了,就有种错觉:好多人为了提一个问题专门注册了贴吧,问题本身可能得到有效回答,也可能没有(和提问的点及具体姿势有关。。但无论如何,之后就和注销了账号一样没有然后了,好像之后永远不用学相应的东西一样。。

《恶魔娃娃》

- 他们正研究你究竟是真正的大人,还是伪装成大人的小孩

- 我自己都研究很久了

乐高 DC 里,(基本就蝙蝠侠家,,年龄最小的那个无论是谁感觉人设都会变得一样 - -

所以,就感觉和祥林嫂一样,每天都需要向外「签到」自己的情绪感受,然而又并没有什么「需要」我这样的签到……

爱发电支持者

最新留言

友情链接

  • 订阅本站的 RSS 2.0 新闻聚合
召唤伊斯特瓦尔