RegEx for URL重定向模式?

时间:2013-06-22 06:43:19

标签: regex url-rewriting

我需要帮助为迁移的网站创建重定向,并且可以使用RegEx。这是之前的链接/cms/events/view/13-03-20/some-post_title.aspx,这是之后的/event/some-post_title。有人知道可以做到这一点的RegEx模式吗?

2 个答案:

答案 0 :(得分:0)

使用sed的示例可以是:

$ echo "/cms/events/view/13-03-20/some-post_title.aspx" | sed -e 's![^/]*/[^/]\+\(/[^/]\+/\).\+/\(.\+\)\.[^\.]\+!\1\2!'

要解释RegEx,首先得到所选分隔符!之间的两个字段:第一个分析输入,第二个用第一个和第二个拥塞项的串联替换匹配的字符串。第一个字词等于/events/,第二个字段等于some-post_title

矩形括号用于指定搜索的一组字符:此处仅用于搜索除斜线之外的任何内容。这样就可以分离URL元素。

答案 1 :(得分:0)

如果您只需要最后一部分(因为您将知道该事件将始终位于URL的前面),那么以下两个将起作用。

这匹配除了斜杠和字符串结尾之间的斜杠之外的所有内容。

var newurl = '/event/' + url.match(/[^//]*$/);

这是一个带有replace的版本,它取代了最后一个斜杠的所有内容。

var newurl = url.replace(/(/|^)([^/]*/)*/, '/event/');