使用 sub_filter 和 regex 更改 url

使用 sub_filter 和 regex 更改 url

我有几组 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/

相关内容