mod_rewrite从URLS中删除下划线

时间:2017-12-12 19:04:14

标签: php regex wordpress mod-rewrite

我的网站有旧网址,例如/ news / story / MasterCard_-Accounts-Don_t-Need-To-Own-Accounts-Until-Volume-Hits-_maximum

需要/ news / story / MasterCard-Accounts-Dont-Need-Own-Accounts-Until-Volume-Hits-maximum

网址来自之前的网站版本,可将特殊字符转换为下划线。新网站只省略了在任何索引和内部链接上导致404s的下划线

所以基本上,我希望在没有下划线的情况下重写它们。我发现的一切只显示如何将它们改为另一个角色,如破折号,但这不符合我的要求。他们可以简单地擦掉吗?我可以通过htaccess或在重定向插件中使用正则表达式来完成此操作。我非常感激任何帮助,因为我现在正在我的桌子上敲我的头。

1 个答案:

答案 0 :(得分:0)

您可以在站点根目录中使用此递归规则集.htaccess:

RewriteEngine On

RewriteRule ^([^_]*)_+([^_]*)$ /$1$2 [L,R=301,NE]
RewriteRule ^([^_]*)_+(.*)$ $1$2 [N,DPI]