301将旧动态重定向到新动态

时间:2011-04-25 20:45:16

标签: apache mod-rewrite

我有点像mod_rewrite的新手。我正在尝试调整我的动态网址以用于搜索引擎优化目的,以重定向到更新,更友好的SEO版本。

这是我的旧结构:

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

我需要将它带到301这个新结构。

/ cat / title / subid / genericname_ id /

提前感谢您的帮助。

1 个答案:

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

这个答案涵盖了将旧格式的网址重定向到新格式,并使用参数将新格式的网址重写为page.php。您应该可以用这两个替换当前规则。