Я пытаюсь использовать субдомены в качестве параметра запроса для самого домена.
Примером может быть следующее:
Я хочу, чтобы nginx взял ab.example.com и вызвал example.com? Key = ab , теперь бэкэнд вернет конкретную конфигурацию, которую следует использовать для поддомен " ab ".
После этого пользователь должен увидеть содержимое (точнее, логотип бренда) example.com? Key = ab , но в поле URL-адреса клиента ab.example.com должно сохраняются.
И все дальнейшие запросы должны показывать, например, ab.example.com / login вместо example.com / login .
Я надеюсь, что то, что я сказал, достаточно понятно. Я пробовал различные примеры из интернета и пытался найти некоторые подсказки.
Файл nginx выглядит так:
server {
listen 80;
listen [::]:80;
server_name www.example.com *.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name www.example.com *.example.com;
ssl_certificate /path/to/certs/ssl.crt;
ssl_certificate_key /path/to/keys/ssl.key;
root /var/www/example_site;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ /index.html =404;
error_page 404 =200;
}
}
Я уже пытался сопоставить, но он перенаправляет на неправильный домен:
map $host $subdomain {
~^(?<sub>.+)\.example\.com$ $sub;
}
И попытался добавить статический оператор if в блоке сервера тоже:
if ($host = "ab.example.com") {
rewrite . ?key=ab;
}
Дополнительный блок сервера тоже не помог:
server {
listen 80;
listen [::]:80;
server_name www.ab.example.come ab.example.com;
rewrite ^ https://example.com/?key=ab permanent;
}
Кто-нибудь видит, что я делаю неправильно или какую часть документации я должен прочитать снова?