Реклама на сайте Advertise with us

Перезд новую CMS, редирект старых ссылок на новые страницы?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

нет судьбы

С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204


Передовик Master-X (16.07.2011) Передовик Master-X (16.10.2011) Передовик Master-X (01.11.2011) Передовик Master-X (16.11.2011) Передовик Master-X (01.01.2012) Ветеран трепа Master-X (16.02.2012)
Ссылка на сообщениеДобавлено: 26/10/12 в 16:07       Ответить с цитатойцитата 

Новая CMS имеет совершенно иную структуру. К примеру на старом сайте /join.html, а на новом это /signup.php. Куча внешних ссылок уже заточена под /join.html?param1=value1&param2=value2&paramN=valueN
Как аккуратно сохранив рефера средиректить /join.html на /signup.php с теми же параметрами?

Т.е.
/join.html?param1=value1&param2=value2&paramN=valueN
превратить в
/signup.php?param1=value1&param2=value2&paramN=valueN
сохранив рефера.

®

0
 



С нами с 11.10.12
Сообщения: 428
Рейтинг: 1032


Передовик Master-X (16.11.2012)
Ссылка на сообщениеДобавлено: 26/10/12 в 17:18       Ответить с цитатойцитата 

Никогда не задавался таким вопросом. А сейчас оказалось, что поведение в этом случае не описывается в стандарте.

Сделал пример на проверить, и оказалось, что при редиректе (и 301, и 302) в опере/хроме/фоксе реферер сохраняется. Т.е. если на странице X нажать ссылку Y, которая редиректит браурез на Z, то на Z реферер=X

Вот сам убедись
src.php
Код:
<?
header('Location: dest.php');


dest.php
Код:
<?
echo '<b>referer</b> = '.(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '*not set*');


dummy.html
Код:

<a href="src.php">pass dummy.html as referer to src.php which redirects to dest.php</a>


сохрани в один каталог под веб-сервером, открой dummy.html и нажми ссылку

------


Анекдот в тему:

[user1] I read some on Google that you can use:
header("referer:page1.php")
to pass the referrer, but it isn't working for me. Any ideas?

[user2] try with an uppercase 'r' and a space between the ':' and the uri:
header("Referer: page1.php");

0
 



С нами с 11.12.11
Сообщения: 351
Рейтинг: 737

Ссылка на сообщениеДобавлено: 26/10/12 в 19:27       Ответить с цитатойцитата 

А разве это нельзя сделать с помощью RewriteRule + R=301,QSA?

1
 

нет судьбы

С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204


Передовик Master-X (16.07.2011) Передовик Master-X (16.10.2011) Передовик Master-X (01.11.2011) Передовик Master-X (16.11.2011) Передовик Master-X (01.01.2012) Ветеран трепа Master-X (16.02.2012)
Ссылка на сообщениеДобавлено: 26/10/12 в 19:30       Ответить с цитатойцитата 

Про то что 301 редирект сохраняет рефера - это я знаю. Вот как сохранить и передать http GET параметры к новому файлу?

®

0
 

нет судьбы

С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204


Передовик Master-X (16.07.2011) Передовик Master-X (16.10.2011) Передовик Master-X (01.11.2011) Передовик Master-X (16.11.2011) Передовик Master-X (01.01.2012) Ветеран трепа Master-X (16.02.2012)
Ссылка на сообщениеДобавлено: 26/10/12 в 19:34       Ответить с цитатойцитата 

Maaad писал:
А разве это нельзя сделать с помощью RewriteRule + R=301,QSA?

Думаю так и надо. А можно пример?

®

0
 



С нами с 11.10.12
Сообщения: 428
Рейтинг: 1032


Передовик Master-X (16.11.2012)
Ссылка на сообщениеДобавлено: 26/10/12 в 19:51       Ответить с цитатойцитата 

Vyacheslav писал:
Думаю так и надо. А можно пример?


Код:
rewriterule ^join.html$ signup.php [R=301,QSA]


QSA как раз подцепляет все параметры из входного url к выходному

9
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »