linux - nginx rewrite 去掉指定的url参数
本文介绍了linux - nginx rewrite 去掉指定的url参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
将用户发来的:
http://1.2.3.4/filename1?from=1001&start=3&uid=1234...后面可能还有其他参数
http://1.2.3.4/filename2?start=4&from=1002&uid=3214...后面可能还有其他参数
仅删除start参数
, 替换成下面的效果, 再去源站请求.
http://1.2.3.4/filename1?from=1001&uid=1234...后面可能还有其他参数
http://1.2.3.4/filename2?from=1002&uid=3214...后面可能还有其他参数
我了解的方法是rewrite
配合arg_要保留的参数名
, 但如果我也不确定除了start外还有哪些参数,这方法好像就行不通了.
我在作一个视频网站的缓存, 必须要去掉其中的start参数, 回源时才能得到完整的视频分片缓存在本地.
解决方案
这个应该可以,楼主可以试试
location ~* filename(\d+)\.html$ {
root /var/www/html;
index index.html;
if ($query_string ~ ^(.*)&start=(\d+)&(.*)) {
set $a $1;
set $b $2;
set $c $3;
rewrite ^ /filename1?${a}&${c}? break;
}
}
这篇关于linux - nginx rewrite 去掉指定的url参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文