重写URL以删除某些字符

时间:2016-06-14 09:45:11

标签: regex url-rewriting isapi-rewrite

我需要重写一些博客网址以删除某些字符。这些是" a556" (a始终存在,数字总是3位数并且是随机的)。这是由单个或双连字符进行的,我还需要将其删除。

这些需要重定向:

  

[域] /博客/ [ARTICLE_NAME] -a556

  

[域] /博客/ [ARTICLE_NAME] - A556

  

[域] /博客/ [article_name_with_characters_removed]

认为正则表达式检测要删除的文本是:

([-]{1,2}a[0-9])\w+

但我不知道如何将其纳入重写规则。

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:0)

请试试这个:

RewriteEngine On
RewriteRule (.*)-{1,2}a\d{3}(.*) $1$2 [R]

答案 1 :(得分:-1)

您是否正在寻找将旧网址处理为新网址的功能?如果您有一系列URL,那么这样的事情应该可以解决问题:

var processedURLs = oldURLs.map(function(url) {
  return url.replace(/[-]{1,2}a[0-9]+/, '');
})

答案 2 :(得分:-1)

这个重写规则可以解决这个问题:

:after

您可以简化[a-zA-Z0-9]删除所有不能出现在文章名称标题末尾的字符范围(即[a-z0-9]或[az])。