Этого невозможно достичь, используя только одно определение сервера, поскольку содержимое ресурсов отличается, а папки в /var/www/htdocs
также будут другими. Вы можете использовать следующие серверы с оператором перезаписи для достижения своей цели (вам также необходимо создать папки a, b, c)
server {
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /var/www/htdocs;
server_name a.xxxx.com;
rewrite ^/z/(.*)$ /a/$1 last;
}
server {
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /var/www/htdocs;
server_name b.xxxx.com;
rewrite ^/z/(.*)$ /b/$1 last;
}
server {
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /var/www/htdocs;
server_name c.xxxx.com;
rewrite ^/z/(.*)$ /c/$1 last;
}
, если вы хотите сделать это только с одним сервером, вам нужно изменить оператор rewrite
, чтобы он зависел от домена запроса. как то так
server {
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /var/www/htdocs;
server_name *.xxxx.com xxxx.com;
rewrite ^/z/(.*)$ /$host/$1 last;
}