我无法对重写规则进行故障排除,请帮助找到缺失的和平。
正则表达式似乎没问题,因为我在 Notepad++ 中测试了替换。
RewriteCond 应检查包含“archive?get”和“&contRep=T1”的链接,并从 URL 向后删除所有内容,包括 &expiration 之后...
context.xml
<Context>
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
</Context>
in \WEB-INF\rewrite.config and \conf\Catalina\localhost\rewrite.config:
RewriteCond %{REQUEST_URI} (archive\?get.*)(\&contRep=T1.*)
RewriteRule ^(.*).expiration.* $1
它不会替换 URL,Tomcat 仍然执行源 URL。
最佳答案
问题出在 RewriteCond 中,因为我想要过滤的内容在 %{REQUEST_URI} 中不可用。现在我有了
RewriteCond %{QUERY_STRING} ^(get.*&contRep=T1&.*)&expiration.*$
RewriteRule ^(.*)$ $1?%1
关于tomcat - 我的 Tomcat 重写规则不起作用,我不知道为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53856346/