如何使用NGINX或.htaccess在URL模式中拆分字符串以进行重定向?

时间:2017-05-22 07:06:26

标签: .htaccess nginx

如何从.htaccess或NGinx中的网址格式中分割字符串?

网址格式:

domain.sample.com/test-1.2.1/dir/version.com/media/azybIVcgifgod.mp4

预期输出应该像,

opt/test/storage/versin.com/a/zy/bI/azybIVcgifgod.mp4

在这里,我必须将字符串 azybIVcgifgod.mp4 拆分为 a/zy/bI/azybIVcgifgod.mp4

请帮帮我!

谢谢!

1 个答案:

答案 0 :(得分:0)

您的问题提及了nginx和Apache的.htaccess文件。这个答案是nginx具体的。

要映射此网址:

http://example.com/foo/bar/media/abcdefghijklm.mp4

到位于此处的本地文件:

/path/to/storage/a/bc/de/abcdefghijklm.mp4

您可以使用正则表达式location blockrewrite...break来提取构造真实路径名所需的URI部分。

在下面的示例中,rewrite...break用于将路径的最后一个元素拆分为四个捕获:

location /foo/bar/media/ {
    root /path/to/storage;
    rewrite /((\w)(\w\w)(\w\w)[^/]+)$ /$2/$3/$4/$1 break;
}