我无法解决重写规则,请帮助找到失踪的和平。
正则表达式似乎很好,因为我在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。
答案 0 :(得分:1)
问题出在RewriteCond中,因为我要过滤的内容在%{REQUEST_URI}中不可用。现在我有
RewriteCond %{QUERY_STRING} ^(get.*&contRep=T1&.*)&expiration.*$
RewriteRule ^(.*)$ $1?%1