Nginx重写规则以删除路径节点


20

假设某个用户尝试使用以下网址访问我的网站上的给定图像: http://www.mywebsite.com/blog/image1.jpg?someParam=100

我需要一个重写规则,从路径中删除“博客”节点:

http://www.mywebsite.com/image1.jpg?someParam=100

Answers:


27

试试这个:

location /blog {
 rewrite ^/blog(/.*)$ $1 last;
}

如果您需要一个以上的站点,则不能仅仅将其放在更高的层次结构中,因为“ location”子句不能全局指定,仅针对特定站点。如果您需要为两个或更多站点添加此子句,则可以将其放在另一个配置文件中,然后仅在需要此重定向的每个站点中“包含”它。


这适用于同一服务器。如何使其适用于不同的域?
Autodidact

1
只需将新域包括在内作为重写的一部分: rewrite ^/blog(/.*)$ https://blog.example.com$1 permanent;
Christophe
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.