2010-10-07 169 views
1

我需要帮助决定如何将旧网址重定向到新网址。 在这一刻我有一个像URL重写后重定向旧网址

myhost.com/viewrecipe.php?id=2

的网址,但我希望他们看起来像

myhost.com/recipes/pear-pie

问题是,该网站已在Google中编入索引。有没有办法为搜索引擎编写301重定向,将它们从旧类型的Url重定向到新类型?

如果在新的url类型中没有使用id是不可能实现的,那么对于搜索引擎来说,其他选项是否可以尽可能平滑地过渡?

P.S.所有这些都是动态网址

回答

0

您可以在包含应用程序的根目录使用的.htaccess文件

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

是的,这将需要所有网址...如果不是你不能试着写一重写,但你会在新的友好网址上绑定该ID。

另一种方式将是可以查看在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

谢谢你,这些都是只有我想到的方式和你确认他们:) – jusik 2010-10-07 14:35:56

0

您在重写规则后是否尝试过[R = 301]?