nginx服务器:如何从URL中删除第一个目录

时间:2018-11-27 15:49:07

标签: nginx url-rewriting nginx-location

有人可以帮助我从URL中删除第一个目录名称吗?

我的图片位置是_data/hotel/3/15377/hotel_image.jpg

但是由于代码中的相对URL,图像路径被更改了,变成了这样的东西。

example.com/france/_data/hotel/3/15377/hotel_image.jpg example.com/usa/_data/hotel/3/15377/hotel_image.jpg example.com/india/_data/hotel/3/15377/hotel_image.jpg

他们有可能从上述网址中删除动态国家/地区名称

1 个答案:

答案 0 :(得分:1)

如果只想重写此特定URL,则可以在配置中使用此location块:

location ~ /[a-z]+/_data/hotel/3/15377/hotel_image.jpg {
    try_files /_data/hotel/3/15377/hotel_image.jpg;
}

如果您要重写所有指向/<country>/_data/...的URL,可以使用:

location ~ /[a-z]+/_data/(.+) {
    try_files /_data/$1;
}

或用于更严格的URL检查:

location ~ /(?:france|usa|india)/_data/(.+) {
    try_files /_data/$1;
}