Сделать редирект с www.subdomain.site.ru на subdomain.site.ru

12
S
На сайте с 30.09.2016
Offline
469
#11
SateClub:
Уже какой день бьюсь, ничего не помогает.

Надеюсь, nginx перезапускаете?

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
J
На сайте с 20.02.2014
Offline
120
jkm
#12
SateClub:

server {
listen 80;
server_name "~^www\.(.*)$";
rewrite ^ http://$host$request_uri permanent;
}

server {
listen 80;
server_name site.ru *.site.ru;

Приоритет маски "*.site.ru" выше чем у регулярки http://nginx.org/ru/docs/http/ngx_http_core_module.html#server_name


При поиске виртуального сервера по имени, если имени соответствует несколько из указанных вариантов, например, одновременно подходят и имя с маской, и регулярное выражение, будет выбран первый подходящий вариант в следующем порядке приоритета:
1. точное имя
2. самое длинное имя с маской в начале, например “*.example.com”
3. самое длинное имя с маской в конце, например “mail.*”
4. первое подходящее регулярное выражение (в порядке следования в конфигурационном файле)


server {
listen 80;
server_name "~^www\.(?<domain>.+)";
return 301 http://$domain$request_uri;
}

server {
listen 80;
server_name "~(?:^|\.)site\.ru$";

Или писать полный список поддоменов.


map $host $domain {
~*^www\.(.+) $1;
}

server {
listen 80;
server_name www.site.ru www.sub1.site.ru www.sub2.site.ru www.sub3.site.ru;
return 301 http://$domain$request_uri;
}

server {
listen 80;
server_name site.ru *.site.ru;

SateClub
На сайте с 25.05.2010
Offline
81
#13

Всем спасибо ребят!

Заработало.

Для тех кто будет решать такую же проблему, прикладываю финальную версию конфига, которая заработала.

Сайт написан на python, фреймворк flask.

В продакшене через uwsgi + nginx


server {
listen 80;
server_name "~^www\.(?<domain>.+)";
return 301 http://$domain$request_uri;
}

server {
listen 80;
server_name "~(?:^|\.)site\.ru$";

location ~* \.(eot|ttf|woff|woff2)$ {
add_header Access-Control-Allow-Origin *;
}

location / {
include uwsgi_params;
uwsgi_pass unix:///home/user/site/site.sock;
}

location /static {
alias /home/user/site/static;
}
}
Вечно прошу помощи )
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий