[РЕШЕНО] 301-ый редирект внутренних страниц

Главные вкладки

Аватар пользователя MKhabibullin MKhabibullin 17 августа 2012 в 9:12

Вопрос такого плана:
Имеем проксирующий nginx, передающий запросы на apache, расположенный на отдельной vps-ке.
В конфиге nginx-а в качестве server_name прописано несколько доменов
Требуется осуществлять 301-ый редирект со страниц вида mysite.ru/catalog на страницы вида www.mysite.ru/catalog

Сейчас редирект идет так:
mysite.com/catalog -> www.mysite.com

Каким образом можно настроить nginx и apache, чтобы перенаправление шло правильно ?
Пробовал прописать в конфиге nginx в секции server:
rewrite ^(.*)$ http://www.mysite.com$1 permanent;
Но это вызывает зацикливание Sad

Комментарии

Аватар пользователя muaddip muaddip 17 августа 2012 в 10:15

С nginx не имел дело, но если не критично,то описанные выше действия можно сделать силами апача. В файле .htaccess ,который идет в друпале, раскоментировать строчки из секции <IfModule mod_rewrite.c>

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Аватар пользователя MKhabibullin MKhabibullin 17 августа 2012 в 10:25

К сожалению не все так просто, в .htacess данные редиректы итак прописаны Smile
Тут варианта 2 остается: либо настройки dns, либо конфиг nginx...
На dns стоит редирект mysite.com -> www.mysite.com, видимо это и заставляет редиректить на www.mysite.com при обращении к url вида mysiste.com/*
Но как от этого избавиться я незнаю Sad

Аватар пользователя MKhabibullin MKhabibullin 19 августа 2012 в 15:14

В ДНС был лишний редирект, из-за него все запросы, приходящие на адреса типа mysite.ru/* перенаправлялись на адрес www.mysite.ru (главная страница). Теперь по идее надо NGinx-ом сделать редирект, но как его прописать грамотно в конфиге, я не могу понять Sad
Пытался еще сделать так:
rewrite ^ http://www.mysite.ru$request_uri? permanent; #301 redirect
Но при обращении к страницам опять же выходит зацикливание Sad

Аватар пользователя MKhabibullin MKhabibullin 19 августа 2012 в 18:56

divined wrote:
Или я чего-то туплю, но никогда не слышал про ДНС редирект. У вас наверняка в апаче этот редирект.

Да дело не в DNS. Сейчас редирект, прописаный в .htaccess не срабатывает, подозреваю что из-за nginx-a, а как прописать правильно на нем редирект, я не могу понять

Аватар пользователя muaddip muaddip 20 августа 2012 в 13:36

))) Главное что нашел. А ДНС редиректа, действительно вроде не существует. По крайней мере не могу себе представить как это сделать.
За редиректы всегда отвечал веб сервер, в данном случае Апач.

Аватар пользователя muaddip muaddip 20 августа 2012 в 13:39

И настройки файла .htaccess, обрабатываются модулем mod_rewrite. А его в свою очередь перекрывают "родные" настройки Апача, которые имеют больший приоритет.