LINUX.ORG.RU
решено ФорумAdmin

Редирект с любого поддомена на основной домен

 , ,


0

1

Доброго дня.
Имеется настроенный конфиг NGINX

server {
listen 80;
server_name my-site.ru;
#access_log /var/log/nginx/access.log;
location ~* \.(jpg|jpeg|gif|png|ico)$ {
root /var/www/respo.my-site/admin/;
index index.html index.php;
#access_log off;
expires 30d;
}
location ~ /\.ht {
deny all;
}

location / {
root /var/www/snd1-mb/;
proxy_pass http://127.0.0.1:81/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}
}
то есть все картинки он вытаскивает из одной директории, а если просто ссылка, то перенаправляет в другую директорию. Этот код работает, все нормально. Сейчас есть такая необходимость сделать редирект (перенаправление) с абсолютно любого поддомена на основной домен. Причем, чтобы структура работы осталась прежней. Прошу помощи, как правильно это сделать? Через NGINX или .HTACCEESS ? Если через NGINX то надо как то сделать так, чтобы он проверял условие, если есть поддомен, то редирект, а если нет.....
Типа
if(server_name == (.+).my-site.ru){
return ( или rewrite)      301 http://my-site.ru$request_uri;
}



Последнее исправление: rafaello (всего исправлений: 1)

server {
  listen 80;
  server_name *.my-site.ru;
  return 301 http://my-site.ru$request_uri;
}
server {
  listen 80;
  server_name my-site.ru;
  ...
}

USF
()
Ответ на: комментарий от USF

как оказалось дело было не в NGINX, а в том, что в записях ДНС не прописал

*     	A (адрес Internet v4)   111.11.111.11
да и в /etc/hosts тоже дописал
это же надо такому случиться, епрст, жаренный огурец, петух гамбургский!!!!

rafaello
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.