[英]Dynamic htaccess redirects in WordPress
我正在寻找一种在 WordPress 中进行批量 301 重定向的解决方案。 我查看了一些常见的 htaccess 重定向,但找不到适合我需要的正确解决方案。
当前网址格式:
website.com/year/month/post-name (e.g website.com/2020/02/post-name)
我想实现的格式:
website.com/blog/post-name
post slug 将始终保持不变,它只是需要调整的 URL 的第一部分。
您可以将请求 URI 的格式(如year/month/post-name
与 RewriteCondition 中的正则表达式进行匹配,并在请求 URI 匹配时为其设置重写规则。
片段:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^\/?\d+\/\d+\/.+ [NC]
RewriteRule ^\d+\/\d+\/(.+) http://website.com/blog/$1 [NC,L,QSA]
演示: https : //htaccess.madewithlove.be?share=f2c421fe-e23d-50a9-8988-9a7bac647951
在上面的规则中,我们执行不区分大小写的匹配并获取正则表达式第 1 组中的post-name
部分,即(.+)
。 现在,我们在重定向 URL 中添加一个$1
,其中1
是组号(因为组号 0 是整个正则表达式本身)。
更新:
如果这是临时重定向或永久重定向301
(也会在 SEO 爬网引擎中更新),您可以添加状态代码为302
的R
重定向信号。
为此,您可以将重写规则从
RewriteRule ^\d+\/\d+\/(.+) http://website.com/blog/$1 [NC,L,QSA]
到
RewriteRule ^\d+\/\d+\/(.+) http://website.com/blog/$1 [R=302,NC,L,QSA]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.