2011-04-25 50 views
0

我是一個mod_rewrite新手。我試圖調整我的動態網址爲SEO目的重定向到一個新的和更多的搜索引擎優化友好的版本。301舊動態重定向到新動態

這裏是我的老結構:

RewriteEngine on 
RewriteRule ^(.*)/(.*)/(.*)/(.*)/$ page.php?cat=$1&title=$2&subid=$3&id=$4 

我需要得到它的301這種新的結構。

/ cat/title/subid/genericname_ id/

在此先感謝您的幫助。

+0

genericname從何而來? – Compeek 2011-04-25 20:47:46

+0

對不起,沒有解釋。它將在每個URL上使用1個字。下面是一個更真實的網址示例:domain.com/fantasy/trollunderbridge/5/post_54/或者domain.com/fantasy/moretrolls/5/post_87/ - 從現在開始,我將在每個網址上使用這個詞。 – Yock 2011-04-25 21:09:02

+0

啊,好的。這樣做更有意義。看到我的答案。 :) – Compeek 2011-04-25 21:13:52

回答

1

我想這應該這樣做:

RewriteRule ^(.*)/(.*)/(.*)/(?!post_)(.*)/$ http://domain.com/$1/$2/$3/post_$4 [R=301,L] 

RewriteRule ^(.*)/(.*)/(.*)/post_(.*)/$ page.php?cat=$1&title=$2&subid=$3&id=$4 

這個答案覆蓋舊格式到新的格式和重寫URL新格式都重定向的URL與參數您的page.php文件。你應該能夠用這兩個替代你當前的規則。

+0

完美!感謝Compeek。 – Yock 2011-04-25 21:24:18

+0

很高興幫助。 :D – Compeek 2011-04-25 21:24:49

+0

+1使用'?!' – anubhava 2011-04-25 21:27:39