0

由于一些错误,我们的网站在 url 中有带有 & 的链接。例如 /movies-&-plays/find/。然而,这会引发 404 导致网站管理员出现大量断开的链接,因为这在我们的应用程序中无法处理。有没有办法将这些类型的 url 中的 '&' 替换为 'and',即只有那些带有 /find/ 的 url。这样就可以编写一个正则表达式来编写一个 301 重定向到所有此类 URL 到带有 'and' 而不是 & 的 url。例如 /movies-&-plays/find/ 必须重定向到 /movies-and-plays/find/。任何帮助将不胜感激。

4

2 回答 2

1
perl -pe 's/(\/[^\/ &]*)&(?=[^\/ ]*?\/find\/)/$1and/g' FILENAME

当给出这个输入时:

http//www.web.com/hello&goodbye/find/

///////&/junk/to/test
////&/find/

产生以下输出:

http//www.web.com/helloandgoodbye/find/

///////&/junk/to/test
////and/find/
于 2013-02-08T12:26:13.523 回答
0

对于匹配的 URL ,([^&]+&[^&]*)+/find/ 全部替换&and.

于 2013-02-07T05:42:46.843 回答