我有几组 URL,需要通过 sub_filter 更改 URL
http://www.example.com/dir1/dir2/config.php?id=100
我想改变网址来获取直接文件名,像这样
http://www.example.com/dir1/dir2/100.mp4
我试过 :
sub_filter config.php?id=([0-9]+) ([0-9]+).mp4;
但什么都没有改变。
这个的正确 sub_filter 和正则表达式是什么
谢谢
答案1
从您写的尝试来看,不清楚您是否正确地将其放置在 conf 文件中。请参阅此处的文档:
http://nginx.org/en/docs/http/ngx_http_sub_module.html
它需要字符串,但是您没有用刻度分隔字符串。我不认为 sub_filter 可以使用正则表达式。有一个名为 replacements_filter 的第三方模块可以实现这一点:
https://stackoverflow.com/questions/12463640/nginx-sub-filter-rewrites
另外,请注意,sub_filter 只会更改 HTML 输出。我感觉您正在寻找 URL 重写,更改请求的 URL,而不是更改输出 HTML。
另请参阅:https://www.nginx.com/blog/creating-nginx-rewrite-rules/