.htaccess正则表达式重定向和替换

时间:2016-09-10 11:09:28

标签: regex .htaccess redirect mod-rewrite url-redirection

这里显示我缺乏正则表达式知识,但似乎遇到以下问题:

我需要重定向以下网址示例结构:

www.example.com/blog-title-here/的标签/这+是+ A +长+标签+名称

www.example.com/的标签/这-是-A-长标签的名称

我需要重定向到 / tag 并将 + 的任何实例替换为 -

1 个答案:

答案 0 :(得分:1)

您可以将此递归重定向规则用作站点根目录中的第一个规则.htaccess:

RewriteEngine On

RewriteRule "(?:.*/)?(tag/[^ +]*)[ +]+([^ +]*[ +].*)$" $1-$2 [N,NC,DPI]
RewriteRule "(?:.*/)?(tag/[^ +]*)[ +]+([^ +]*)$" /$1-$2 [L,R=301,NC,NE]

这会将http://localhost/blog-title-here/tag/this+is+a+long+tag+name重定向到http://localhost/tag/this-is-a-long-tag-name