Перенаправить старые URL после перезаписи URL - PullRequest
1 голос
/ 07 октября 2010

Мне нужна помощь с решением, как перенаправить мои старые URL-адреса на новые.На данный момент у меня есть URL-адреса, такие как

myhost.com / viewrecipe.php? Id = 2

Но я хочу, чтобы они выглядели как

myhost.com / recipes /pear-pie

Проблема в том, что сайт уже проиндексирован в Google.Есть ли способ написать 301 перенаправление для поисковых систем, чтобы перенаправить их из старого типа URL-адресов на новый?

Если это невозможно сделать без использования идентификатора в новом типе URL, каковы другие вариантысделать этот переход максимально плавным для поисковой системы?

PS все это динамические ссылки

Ответы [ 2 ]

0 голосов
/ 07 октября 2010

Вы можете использовать файл .htaccess в корне вашего приложения, содержащий:

redirect 301 viewrecipe.php?id=2 http://www.myhost.com/recipes/pear-pie

Да, это понадобится для всех ваших URL-адресов ... если нет, вы не можете попытаться написать переписать, но вам потребуется идентификатор в новом SEO-дружественном URL-адресе.

Другим способом будет возможность получить доступ к viewrecipie.php? Id = 2 и кодировать что-то вроде:

<?php
// get the new name dependeind of the id
$slug = Posts::getByID($id);

header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.myhost.com/recipes/".$slug);
?>

И кратчайший путь:

header("Location: http://www.myhost.com/recipes/".$slug",TRUE,301);
0 голосов
/ 07 октября 2010

Вы пробовали [R = 301] после правила перезаписи?

...