2011-05-25 126 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