htaccess重定向条件将旧URL重定向到新URL

时间:2017-07-15 09:06:54

标签: apache .htaccess redirect mod-rewrite

以前,我有重定向规则

RewriteRule ^([A-Za-z0-9-]+)(---[^/]+)/?$ pc.php?name=$1&id=$2 [L,NC,QSA,NE]

1)这给出了一个输出:http://me.com/i-am-here---125/

现在,我希望它能够变得更好,更友好的SEO。我正在使用以下重写规则。

RewriteRule ^([0-9-]+)/([A-Za-z0-9-]+)/?$ pc.php?id=$1&name=$2 [L]

2)这给出了一个输出:http://me.com/125/i-am-here/

我的问题:如何将所有旧网址(1)重定向到新的网址(2)格式?

2 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

RewriteRule ^([A-Za-z0-9-]+)(---[^/]+)/?$ $2/$1/ [R=301,NC,L]

答案 1 :(得分:0)

您可以在现有的重写规则之前使用此重定向规则:

RewriteRule ^([A-Za-z0-9-]+)---([^/]+)/?$ /$2/$1/ [R=301,L]

RewriteRule ^([0-9-]+)/([A-Za-z0-9-]+)/?$ pc.php?id=$1&name=$2 [L,QSA]