htaccess 重定向条件,用于将旧 URL 重定向到新 URL



以前,我有一个重定向规则

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( 格式?

你可以尝试这样的事情:

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

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

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]

最新更新