Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Редиректы при массовом переименовании страниц

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте!
 
Сейчас будет многабукаф, и я прошу совета у владеющих Знаниями..
 
Есть интернет-магазин с десятком тысяч товаров. Он как-то продает и по некоторым запросам неплохо находится в ПСах, но в нем творится полный хаос и моя миссия заключается в уменьшении энтропии сайта, даже если на это необходимо год или два времени.  
 
И вот, в рамках, этих работ появилась задача переименования имен страниц (урлов) товаров. Со старых, ничего не значащих наборов цифробукв, нужно прийти к осмысленным урлам, отображающим название товара на транслите.  
 
Ну, т. е., было:
 
www.site/catalog/ashg-23242
 
а надо: www.site/catalog/samiy-lychshiy-tovar
 
Поэтому возникает вопрос, как правильно организовать редирект, дабы не потерять ссылки на эти страницы и их PR.
 
 
Спасибо!
 
**********
 
Update:
 
Вот мне добрые люди уже насоветовали. Как это расшифровать? Построчно
 
<?php
 
//$old - старый url
//$new - новый url
 
$old=$_SERVER['REQUEST_URI'];
 
if ($old=='/articles/lekar_veterinary/asd'){
$new = '/articles/o-preparate-asd';}
 
elseif ($old=='/shop/dogs/aksessuary/'){
$new = '/catalog/aksessuary-i-uhod-dogs';}
 
if ($new!=''){
    header( 'Location: http://www.zooapteka.kiev.ua'.$new, true, 301 );
exit();
}

Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 14:48 16-07-2013 | Исправлено: Crazy_Shrike, 19:27 16-07-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Crazy_Shrike

Цитата:
Как это расшифровать? Построчн

www.php.net не помогает?
 
помоему тут и так очевидно, что если запрашиваемый URI равен чему то, то перебрасывать с помощью 301 заголовка надо на другой.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:42 16-07-2013
Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
www.php.net не помогает?  

 
К сожалению, нет.
 
Вот так правильно?
 
*****************
 
<?php  
 
//$old - старый url  
//$new - новый url  
 
$old=$_SERVER['REQUEST_URI'];  
 
elseif ($old=='/product/s_recipe_cat-2004')
{$new = '/product/sportmix-original-recipe-cat-food---korm-sportmiks-dlya-koshek-originalnaya-receptura';}  
 
elseif ($old=='/product/sportmix_gourmet_mix-2005')
{$new = '/product/sportmix-gourmet-mix-cat-food---korm-sportmiks-dlya-koshek---gurmanov';}  
 
elseif ($old=='/product/lara_kitten-3303')
{$new = '/product/versele-laga-lara-kitten---korm-versel-laga-dlya-kotyat-410127-410141';}  
 
elseif ($old=='/product/pronature_orijinal_puppy_lamb-5116')
{$new = '/product/pronature-original-puppy-growth-all-breeds-lamb--rice-formula---korm-pronatyur-oridzhinal-dlya-schenkov-vseh-porod';}  
 
 
if ($new!=''){  
    header( 'Location: http://www.zooapteka.kiev.ua'.$new, true, 301 );  
exit();  
}
 
*****************
 
Если правильно, дальше я должен прописать  
 
include_once "redirects.php";
 
в файле index.php ?

Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 10:31 17-07-2013 | Исправлено: Crazy_Shrike, 14:45 17-07-2013
Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Все, я разобрался, в предыдущем примере все правильно.
 
Спасибо мне.

Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 17:58 17-07-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Crazy_Shrike
проще использовать  
switch, case способ..

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:45 17-07-2013
urok2007



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
переехал на новый движок  
ссылки были такого плана  
forum/topic.php?forum=2&topic=1
сейчас вот такого  
forum/index.php/topic,5.0.html
в поисковике выдает старые не рабочие ссылки  
теперь как сделать правильный ридерект понять не могу  

Всего записей: 71 | Зарегистр. 10-08-2007 | Отправлено: 08:24 18-09-2013 | Исправлено: urok2007, 08:32 18-09-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
urok2007

Цитата:
теперь как сделать правильный ридерект понять не могу  

только скриптом, который будет сопоставлять старые URL и новые..
обычный mod_rewrite тут не поможет, так как нужна база соответствия, раз нумерация отличается.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 08:26 18-09-2013
urok2007



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а пример можно ?
ссылок не много можно это сделать вручную только как

Всего записей: 71 | Зарегистр. 10-08-2007 | Отправлено: 08:33 18-09-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
urok2007

Цитата:
а пример можно

для начала нужно составить базу соответствия старых и новых
 

Цитата:
ссылок не много можно это сделать вручную только как

ну.. немного - сколько? если до десяти, то можно с помощью mod_rewrite

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 08:35 18-09-2013
urok2007



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
примерно около 20 ссылок

Всего записей: 71 | Зарегистр. 10-08-2007 | Отправлено: 08:39 18-09-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
urok2007
Ну, к примеру, создаете topic.php и в нем

Код:
<?php
$links = array(
'forum=2&topic=1' => 'topic,5.0.html',
....
);
if (isset($links[$_SERVER['QUERY_STRING']]))
header('Location: /index.php/' . $links[$_SERVER['QUERY_STRING']], 301);
else
header("HTTP/1.0 404 Not Found");
?>


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 08:44 18-09-2013 | Исправлено: Cheery, 08:45 18-09-2013
urok2007



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Parse error: syntax error, unexpected '.', expecting ')' in /var/www/urok/data/www/*****/forum/topic.php on line 4

Всего записей: 71 | Зарегистр. 10-08-2007 | Отправлено: 08:49 18-09-2013 | Исправлено: urok2007, 08:50 18-09-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
urok2007
ну елки палки.. многоточие было указано чтобы показать, что заполняете массив таким же образом дальше )

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 08:51 18-09-2013
urok2007



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо огромное все получилось

Всего записей: 71 | Зарегистр. 10-08-2007 | Отправлено: 09:27 18-09-2013
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Редиректы при массовом переименовании страниц


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru