url重写后重定向301

时间:2011-05-25 09:39:28

标签: .htaccess redirect url-rewriting

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

旧网址:mypage.php?id = myId 现在改写为:mypage-myId.html

这是htaccess指令

RewriteRule ^ mypage - ([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。

这有什么问题?我找到了关于这个问题的另一篇文章 url rewrite & redirect question 但解决方案对我来说并不清楚。

提前致谢 维托里奥

1 个答案:

答案 0 :(得分: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