Vamshop. Редирект старых ссылок на чпу.

S
На сайте с 20.03.2010
Offline
21
1676

Были старые урл вида:

/index.php?cat=* (категория)

/product_info.php?products_id=* (товар)

Сейчас ссылки вида:

/название-категории.html (категория)

/название-товара.html (товар)

Товара около 1000 наименований. В индексе Яндекса уже начинают присутствовать и те и другие, что не есть гуд, ибо дубли.

Можно ли 301-м редиректом сделать переход при заходе по старым ссылкам - на новые? Что именно прописать в htaccess.

Спасибо.

V
На сайте с 04.09.2008
Offline
34
#1

Правкой только одного htaccess дело не решить, так как раньше были ID, а сейчас названия. Надо что бы в самом коде при запросе (до отправки данных) был редирект, что-то типа:

при запросе /index.php?cat=10 срабатывало:


if(isset($_GET['cat'])
{
$name = получить_имя_категории_по_ид($_GET['cat']);
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://site.ru/".$name.".htm");
exit();
}

и при запросе: /product_info.php?products_id=10


if(isset($_GET['products_id'])
{
$name = получить_имя_товара_по_ид($_GET['products_id']);
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://site.ru/".$name.".htm");
exit();
}
http://allphp.ru (http://allphp.ru)
C
На сайте с 04.02.2005
Offline
291
#2

из $_SERVER['REQUEST_URI'] получить разобранную строку и сверить ее с преобразованной, как я понимаю, то туда приходят уже в массиве $_GET

И сделать, это наверное нужно в header

зы а как можно отличить

/название-категории.html (категория)

от

/название-товара.html (товар) :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий