Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Веб сервер
  • Search

NGINX+FPM. Редирект с www на без www

Вопросы по работе Веб сервера
Apache + Nginx, Nginx + PHP5-FPM
Post Reply
  • Print view
Advanced search
10 posts • Page 1 of 1
Stan79
Posts: 14
Joined: Thu Oct 16, 2014 9:32 am

NGINX+FPM. Редирект с www на без www
  • Quote

Post by Stan79 » Thu Jun 02, 2016 3:05 pm

Привет!
Сломал мозг, как перенаправлять на домен «с www» на «без www».

A-записи прописаны (@ и www), домен делегирован на Яндекс

При добавлении домена через панель, Веста ставит в таком порядке домены:

Code: Select all

server {
    listen      000.000.000.00:80;
    server_name mydomain.ru www.mydomain.ru;
    root        /home/user/web/mydomain.ru/public_html;
    index       index.php index.html;
...................
Пробовал в начале конфига сайта ставить секцию

Code: Select all

server {
    server_name "~^(www\.)?(.*)$" ;
    return 301 http://$2$request_uri ;
}
нулевой результат

Пробовал так

Code: Select all

server {
    server_name  www.mydomain.ru;
    rewrite ^(.*) http://mydomain.ru$1 permanent;
}

server {
    listen      000.000.000.00:80;
    server_name mydomain.ru;
    root        /home/user/web/mydomain.ru/public_html;
    index       index.php index.html;
и так

Code: Select all

server {
    server_name  www.mydomain.ru;
    return 301 $scheme://mydomain.ru$request_uri;
}

server {
    listen      000.000.000.00:80;
    server_name mydomain.ru;
    root        /home/user/web/mydomain.ru/public_html;
    index       index.php index.html;

Code: Select all

server {
...
server {
    server_name www.mydomain.ru;
    return 301 $scheme://mydomain.ru$request_uri;
}
...
}
Перекидывает на другой домен на этом же IP


Как решить задачу?

Debian 7 x64, Vesta 0.9.8-15
Last edited by Stan79 on Fri Jun 03, 2016 8:02 am, edited 1 time in total.
Top

DevilStar
Posts: 51
Joined: Tue Sep 09, 2014 8:10 am
Contact:
Contact DevilStar
Website

Os: Ubuntu 15x
Web: nginx + php-fpm
Re: NGINX+FPM. Редирект с www на без www
  • Quote

Post by DevilStar » Fri Jun 03, 2016 8:02 am

Аналогично парился с редиректами в условиях VestaCP + php-fpm.

Потом просто перенес управление доменами с yandex на cloudflare, а там уже есть нормальный forwarding. Включил 301 редирект с www на non www, всё работает.
Top

Stan79
Posts: 14
Joined: Thu Oct 16, 2014 9:32 am

Re: NGINX+FPM. Редирект с www на без www
  • Quote

Post by Stan79 » Fri Jun 03, 2016 8:04 am

DevilStar wrote:Аналогично парился с редиректами в условиях VestaCP + php-fpm.

Потом просто перенес управление доменами с yandex на cloudflare, а там уже есть нормальный forwarding. Включил 301 редирект с www на non www, всё работает.
То есть проблема в форвардинге Yandex? У меня на паре серверов такая неприятность

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

Code: Select all

server {
...
   listen      000.000.000.00:80;
    server_name mydomain.ru www.mydomain.ru;
    return 301 $scheme://mydomain.ru$request_uri;
...
}
Но редиректит на другой домен

Пожалуй спрошу у техподдержки Яндекс
Top

abst
Posts: 92
Joined: Mon Feb 15, 2016 6:48 am
Contact:
Contact abst
Website

Os: CentOS 6x
Web: nginx + php-fpm
Re: NGINX+FPM. Редирект с www на без www
  • Quote

Post by abst » Sat Jun 04, 2016 6:59 am

Stan79 wrote:
Но редиректит на другой домен

Пожалуй спрошу у техподдержки Яндекс
Похожая проблема, если что-то вразумительное от саппорта Яндекса узнаете - сообщите, подписался на тему.
Top

Stan79
Posts: 14
Joined: Thu Oct 16, 2014 9:32 am

Re: NGINX+FPM. Редирект с www на без www
  • Quote

Post by Stan79 » Sat Jun 04, 2016 7:05 am

abst wrote:
Stan79 wrote:
Но редиректит на другой домен

Пожалуй спрошу у техподдержки Яндекс
Похожая проблема, если что-то вразумительное от саппорта Яндекса узнаете - сообщите, подписался на тему.
Сообщу обязательно!
Top

Stan79
Posts: 14
Joined: Thu Oct 16, 2014 9:32 am

Re: NGINX+FPM. Редирект с www на без www
  • Quote

Post by Stan79 » Sat Jun 04, 2016 7:10 am

В панели регистратора, к примеру reg.ru, есть такая штука, но она для переадресации на другой домен, если я понял правильно.

Image

Мне лично пофиг, у меня все проекты без 301 редиректа и прекрасно находятся в топе, но я подозреваю, что СЕОшники устроят панику. И хотелось бы знать на будущее, как решать такие задачи.
Top

ananasoviy express
Posts: 1
Joined: Sat Jun 04, 2016 5:52 pm

Re: NGINX+FPM. Редирект с www на без www
  • Quote

Post by ananasoviy express » Sat Jun 04, 2016 5:54 pm

В документации nginx все написано - http://nginx.org/en/docs/http/convertin ... rules.html
Если сайт открывается по www и без, зачем писать в поддержку яндекса, что ты там хочешь услышать?
Top

Mr.Erbutw
Posts: 1040
Joined: Tue Apr 29, 2014 10:05 pm

Os: CentOS 6x
Web: apache + nginx
Re: NGINX+FPM. Редирект с www на без www
  • Quote

Post by Mr.Erbutw » Sat Jun 04, 2016 6:24 pm

можно и так в .htaccess

Code: Select all

RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]

Code: Select all

# Rewrite to no www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule .* http://%1/$0 [L,R=301]
Top

Stan79
Posts: 14
Joined: Thu Oct 16, 2014 9:32 am

Re: NGINX+FPM. Редирект с www на без www
  • Quote

Post by Stan79 » Sat Jun 04, 2016 6:43 pm

Mr.Erbutw wrote:можно и так в .htaccess

Code: Select all

RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]

Code: Select all

# Rewrite to no www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule .* http://%1/$0 [L,R=301]
Под NGINX? :)
Он не поддерживает обработку файлов htaccess
Top

Stan79
Posts: 14
Joined: Thu Oct 16, 2014 9:32 am

Re: NGINX+FPM. Редирект с www на без www
  • Quote

Post by Stan79 » Sat Jun 04, 2016 7:01 pm

ananasoviy express wrote:В документации nginx все написано - http://nginx.org/en/docs/http/convertin ... rules.html
Если сайт открывается по www и без, зачем писать в поддержку яндекса, что ты там хочешь услышать?
Мужик, где ж ты раньше был:) Спасибо, что ткнул носом, не нашёл этой страницы.

Итак, решение:

Code: Select all

server {
    listen      000.000.000.000:80;
    server_name  www.mydomain.com;
    return       301 http://mydomain.com$request_uri;
}

server {
    listen      000.000.000.000:80;
    server_name mydomain.com;
    root        /home/user/web/mydomain.com/public_html;
....................................
Top


Post Reply
  • Print view

10 posts • Page 1 of 1

Return to “Веб сервер”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password