自定义301重定向使用正则表达式

时间:2014-12-30 22:39:19

标签: php regex wordpress .htaccess redirect

我对此做了一些研究,但找不到一个好的解决方案。我来自ASP.net背景,我正在将我们的网站转移到WordPress。

我的旧投资组合链接格式如下

/custom-website-design/airline-aviation/5

新网站上的相同链接将是

/custom-website-design/airline-aviation

请注意,最后一个“ / 5 ”不存在。在我的旧网站上,我用它来查看后端的类别。

现在我的问题是,在wordpress中,使用插件或自定义.htaccess文件,我可以查找网站

/custom-website-design/(ANYTHING)/(NUMERIC) 

然后将其重定向到

/custom-website-design/(ANYTHING)

再次感谢!

1 个答案:

答案 0 :(得分:1)

可以使用WordPress重写模块完成,但我不是专家 无论如何,您也可以使用 .htaccess mod_rewrite 来完成。

您可以将此代码放入htaccess(必须位于根文件夹中)

RewriteEngine On
RewriteRule ^custom-website-design/([^/]+)/[0-9]+$ /custom-website-design/$1 [R=301,L]

注意:由于您使用的是WordPress,因此必须先将此规则放在 WordPress的主要规则之前。
最后应该是这样的

RewriteEngine On

RewriteRule ^(custom-website-design/[^/]+)/[0-9]*$ /$1 [R=301,L]

# WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /index.php [L]