2011-05-25 152 views
0

我做了一些htaccess的URL重写。为了保持我的谷歌排名,我必须将旧网址重定向到新网址;问题是旧的网址仍然存在,我不知道如何做重定向。这是一个例子:301重定向重写

旧网址:mypage.php ID =身份识别码 现在被改写为:我的空间 - myId.html

这是htaccess的指令

重写规则^我的空间 - ([? A-ZA-Z0-9 _-] +)。html $ mypage.php?id = $ 1 [L]

现在我想301将所有旧网址(mypage.php?id = myIds)重定向到新的网址(mypage-myIds.html)。 我试过这个在我的htaccess文件的顶部: 重定向301 mypage.php?id = 1 http://www.domain.com/mypage-1.html 但没什么事情发生,页面停留在continente.php?idc = 1。

什么wgong这个?我发现另一篇文章对这个问题 url rewrite & redirect question 但解决的办法不是那么清晰。

在此先感谢 维托里奥

回答

1

你可以试试这个:

RewriteEngine On 

RewriteCond %{QUERY_STRING} ^id=([A-Za-z0-9_-]+)$ # fetch ID 
RewriteRule ^mypage\.php$ http://domain.com/mypage-%1.html [R=301,L] # redirect old URL to new 

RewriteRule ^mypage-([A-Za-z0-9_-]+)\.html$ mypage.php?id=$1 [L] # rewrite 
+0

hi..does不work..the浏览器发送一个Errore 310(净值:: ERR_TOO_MANY_REDIRECTS): – hcvitto 2011-05-25 12:45:47

+0

我用解决PHP的重定向和更改查询字符串参数的名称。 – hcvitto 2011-05-27 10:50:23