Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сохранить ссылки при модернизации движка
 
 автор: tAleks   (26.10.2011 в 10:52)   письмо автору
 
 

Переделал движок сайта. Сейчас нужно сдалать так, чтобы при переходе по старой ссылке в каталог товаров, был редирект на товар в новом варианте.

Раньше ссылка была такого вида:

http://sulte.ru/catalog/index.php?id=123


Сейчас так:

http://sulte.ru/catalog-name-1/tovar-name-123


Как я думаю нужно сделать.

1. В .htaccess седалть мод реврайт со старого url на новый скрипт.
2. В скрипте, по id извлечь название товара и группу, и сделать редирект на новый URL.

Вопрос.

Как из PHP скрипта сделать редирект к кодом "301- Перемещено навсегда"?

Простой редирект длеаю так:


header("Location: $new_url");
exit;


Я так пологаю, нужно послать доп. заголовок с кодом 301.
Вопрос когда его послыать до строки header("Location: $new_url");, или после, или это не имеет значения?
И как конкретно этот заголовок должен выглядеть?

  Ответить  
 
 автор: cheops   (26.10.2011 в 11:50)   письмо автору
 
   для: tAleks   (26.10.2011 в 10:52)
 

Погодите, а вы разве не при помощи mod_rewrite организовали ссылки вида?
http://sulte.ru/catalog-name-1/tovar-name-123
Если да, то старые ссылки должны рабоать автоматически? Причем избавиться от них у вас не выйдет, так как в конце концов именно они являются рабочими.

  Ответить  
 
 автор: tAleks   (26.10.2011 в 17:03)   письмо автору
 
   для: cheops   (26.10.2011 в 11:50)
 

Да, это сделано при помощи мод_реврайта, но физический кактлог и название скрипта тоже изменено. Но это не главное.

Мне нужно сделать чтобы при переходе по старой ссылке, был редирект на новую, чтобы в адресной строке посетитель видел новый адрес.

  Ответить  
 
 автор: Lotanaen   (26.10.2011 в 17:32)   письмо автору
 
   для: tAleks   (26.10.2011 в 17:03)
 

перед переадресацией укажите:

header('HTTP/1.1 301 Moved Permanently');

только смотрите что бы бесконечный цикл переадресации не получился, для этого проверяйте ссылку сначала (например на наличие в ней index.php?id= ).

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования