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

Spear

почемучка
Правильный редирект на новый домен, есть вопосик

Здравствуйте,
я приблизительно месяц назад приобрел новый домен,
теперь хотелось бы сделать его основным, то есть всех посетителец перенаправлять на него, при этом посылая ещё и 302 хедер\moved


то есть, например,
есть домен (старый) http://www.old_domain.ru

нужно чтобы если посетитель попал на страничку
http://www.old_domain.ru/razdel1/index.php?somevar=32423

послать ему 302 хедер (это чтобы поисковики не терялись) и перенаправить его на

http://www.moved.com/razdel1/index.php?somevar=32423

подскаэите, пожалуйста, как эт оправильно сделать, т.к. тут ошибиться нельзя, иначе 90% посетителей пропадут (сейчас посечаемсть почти 5к)

Наеюсь на вашу помощь!
 

Spear

почемучка
я буду копать долго и нудно, и ничего путного не накопаю.
А без реврайта это сделать неьзя? вот у мен\ такой код получился, интересно - будет ли он коректно работать и для пользователей и для поисковиков?

PHP:
if($_SERVER['HTTP_HOST'] !== "www.moved.com")
{
header("HTTP/1.1 302 Moved");
header("Location: http://www.moved.com".$_SERVER['REQUEST_URI']);
}
 

MustDie

Новичок
у тебя старый сайт остается? не удаляется?
у тебя все скрипты связанны одним файлом?(главным файлом - который подключается ко всем)

то ты просто обрабатывай входящую строку
http://www.old_domain.ru/razdel1/in...p?somevar=32423
и переделывай регулярными выражениями имя домена
а потом
PHP:
header("Location: $tvoy_noviy_adress");
послать ему 302 хедер (это чтобы поисковики не терялись) и перенаправить его на
посылай сам, функцией - header();
 

Spear

почемучка
и как к такому коду отнесется тот же Яндекс и Гугл? правильно ли делаю что посылаю именно 302 хедер?
 

MustDie

Новичок
епть... ты заново добавь в поисковик новый адрес...

а если у тебя зарегин в многих каталогах...
тогда .htpaccess перенаправляй их

а как отнесется Яндекс? читай на yandex.ru
 

Spear

почемучка
старй домен остается, т..к много ссылок на него у людей,
просто хотелось бы чтобы теперьв се работа шла через новы домен.
немного модифицировал код :) :
PHP:
if($_SERVER['HTTP_HOST'] !== "www.moved.com") 
{ 
header("Location: http://www.moved.com".$_SERVER['REQUEST_URI'], true, 302); 

}
MustDie
а зачем регулярным выражением, если $_SERVER['HTTP_HOST'] это и есть имя домена?

-~{}~ 05.03.06 09:17:

зарегин м каталогах, и т.п.


у мен\ только вопрос - какая-то есть принципиальная разница - мучаться через ХТаксес или сделать все в РНР? (все страницы сайта и модули вызываются через главную, index.php)
 

MustDie

Новичок
а разница какая?

если тебе проще через PHP то делай через него...
зачем зациклеватся на ХТацес..

про рег выражения... это я не подумав... я писал тебе алгоритм (подсказку) а не код... и не имел виду PHP
 

SiMM

Новичок
> А без реврайта это сделать неьзя?
Разве я сказал хоть что-то про реврайт? Делай хоть через 404, если тебе так проще. Только имей в виду, что логи разбухнут.

> if($_SERVER['HTTP_HOST'] !== "www.moved.com")
Ну если у тебя виртуальные домены прописаны на одном и том же сервере и в одну и ту же папку - то вполне прокатит (заодно и те, кто лезет на moved.com, без www, перебросятся куда нужно). Только не забудь [m]die[/m] сделать после отправки заголовков - ибо выдавать при редиректе контент - абсолютно бессмысленно.

> будет ли он коректно работать и для пользователей и для поисковиков?
Поисковики понятия не имеют, что там у тебя написано в коде. Поисковики ничем не отличаются от пользователей - апач им заголовков специальных не шлёт - ему по барабану, пользователь сделал запрос или ещё что.

> епть... ты заново добавь в поисковик новый адрес...
MustDie, исчезни.

И вот ещё что. Тебе наверно всё же не 302 Moved Temporarily нужен, а 301 Moved Permanently
 

Spear

почемучка
SiMM
Спасибо за ответ!
Ещё хоте уточнить -

я написал так:
header("HTTP/1.1 302 Moved");
header("Location: http://www.moved.com".$_SERVER['REQUEST_URI']);

но в комментариях рнр.нет увидел совет пользоваться header'ом так:

header("Location: http://www.moved.com".$_SERVER['REQUEST_URI'], true, 302);

в чем, собсно, отличие?
 

SiMM

Новичок
> в чем, собсно, отличие?
[m]header[/m] + разве визуально не заметно разницы?
 

Spear

почемучка
какие-то странности. Посылаю 302 Moved Temporarily а получаю хедеры 302 Found.

-~{}~ 05.03.06 10:14:

уже все ОК, софт для проверки глючил.

вот появилаь ещй одна прблемка. КОненчо не то что бы первой ваности, но все-же решить её было бы очень кстате :)

т.к. 90% посетитетлей на старый домен заходили с поисковиков, фрмов и т.п. то в счетчиках статистики (мейл.ру) я наблдал за те, откуда приходят. А с таким редиректом поле рефеа теряется после редиректа.

опрос вот в чем - можно ли как-то сохранить поле рефеа? то есть, скажем, на стары домен зашли с яндексА, и нужно тчобы после редиректа на новый домен счетчики получили рефер полученный на старом домене. Реально такое или нет?
 

Фанат

oncle terrible
Команда форума
зависит от браузера, наверное
интересно, а что нам про это говорит стандарт?
 

kruglov

Новичок
Стандарт говорит, что слова браузер должен игнорировать, воспринимать только цифры
 

Spear

почемучка
хм, вот весь день уже работает переадресация и поля рефера чудным образом остаются полсе редиректа, так что все окей ;) всем спасибо за помощь!
 
Сверху