我搬到了一个新网站,它破坏了我的网址。现在可以从多个网址访问博客帖子,并希望将一种模式重定向到另一种模式。
我正在尝试将第一个案例重定向到第二个案例:
~/blogs/johndoe/john-doe/2014/03/14/test-article1 =>
~/blogs/john-doe/2014/03/14/test-article1
~/blogs/jimjones/jim-jones/2014/03/14/test-articleb =>
~/blogs/jim-jones/2014/03/14/test-articleb
如何创建一个足够聪明的模式来切出第一个" johndoe"和" jimjones"?我正在使用它进行IIS重写,但我认为任何RegEx都应该可行。谢谢你的帮助。
答案 0 :(得分:0)
这有效:
^~/blogs/\w+/(\w+)-(\w+)/(\d{4})/(\d\d)/(\d\d)/([\w-]+)$
它只是丢弃非破折号名称。它不知道它是否等于短划线名称。并且它还假定日期编号有效。 9899/45/33
将匹配。
捕获组:
答案 1 :(得分:0)
我不知道IIS重写,但这应该有效:
/^~/blogs\/[a-z]+\/ -> ~/blogs/
正则表达式将匹配字符串的开头,后跟~/blogs/
,后跟一个全部小写字符的字符串。
答案 2 :(得分:0)