我试图将一堆支持文件重定向到不同的支持系统,除了其中包含文件夹software_updates
的任何文件。以下是我写的规则。
RewriteRule ^/support/.*(?!software_updates).*$ newurl_location [NC,L,R=301]
这排除了/support/software_updates/
但不包括/support/product/software_updates
我试图在支持后排除在网址中任何位置具有software_updates的任何网址。
答案 0 :(得分:1)
尝试:
RewriteRule ^/support/(?!.*software_updates) newurl_location [NC,L,R=301]
我没有Apache方便测试它,但它应该可以工作。
答案 1 :(得分:1)
我已对此进行了测试,并认为这是您正在寻找的内容(请注意/
和.*
中的更改
RewriteRule ^support/(?!.*?software_updates) newurl_location [NC,L,R=301]
你快到了。
首先,您不需要初始/
您不希望.*(?!software_updates).*
,因为这将匹配software_updates
。为什么?点星吃掉了整个字符串,最后,你得到的断言是software_updates不是下一个。当然这是事实。
答案 2 :(得分:0)
这应该可以解决问题。
RewriteRule ^support/(?!.*software_updates).*$ newurl_location [NC,L,R=301]