Nginx的代理重写与条件为域

我处于一个相当未知的情况,但我相信可以使用nginx代理和URL重写function来完成。
我想要的是:
有一个网站有多个品牌,所以我们说我有3个域名。
因此,如果有人试图访问domain1.com,nginx会将徽标URL重写为logo1.png。同样适用于:
Domain2.com> logo2.png
Domain2.com> logo3.png
我知道有可能为同一个文件提供3个域名。 这是我所做的:

#domain1.com nginx_conf server { listen 80 default_server; root /var/www/vhosts/domain1.com/httpdocs/; index index.php index.html index.htm; server_name domain.com domain1.com; location / { sub_filter '<img src="/images/logo.png' 'img src="/images/logo1.png'; try_files $uri $uri/ /index.php; } 

如果我有三个独立的configuration,你认为这会起作用吗? 让我知道。 谢谢。 的Shahriar

将徽标放在像您的域名那样命名的不同文件夹中,如“… / domain1.com/images”,“… / domain2.com/images/”。 在这些里面你把各个标识全部命名为logo.png

添加另一个位置到您的服务器块:

 location /images/ { root /var/www/vhosts/domain1.com/httpdocs/$server_name/; } 

这应根据服务器名称提供不同的logo.png文件。 另一种可能性是别名指令。

 location /images/logo.png { alias /var/www/vhosts/domain1.com/httpdocs/images/logo1.png; } 

Nginx是一个Web服务器和一个反向代理,你需要在应用程序级别处理这个问题。

编辑 – 如果你修改你的需求,你可能会得到一些工作。 地图可能值得研究,共享文档根。 但是,根据你的要求,现在我看不到一个简单的方法来做到这一点。 这并不是说这是不可能的,只是我不知道如何。