我使用以下正则表达式:
^/(.*)/(?i:audaud)(.*)$
这样可以将任何“audaud”或“AUDAUD”等重定向到我想要的页面。当我尝试访问位于/catalog/AUDAUD.html的文件时,问题就出现了。每当我这样做,我得到一个404。
有人会知道为什么会这样吗?
答案 0 :(得分:1)
一种解决方案是添加否定前瞻以排除文件:
^/(.*)/(?!AUDAUD\.html$)(?i:audaud)(.*)$
否定前瞻(?!AUDAUD\.html$)
断言后面的内容不是AUDAUD.html$
和字符串的结尾。
另一种选择是在正则表达式的开头将整个路径包含在负向前瞻中:
^(?!/catalog/AUDAUD\.html$)/(.*)/(?i:audaud)(.*)$