嗨到社区在Serverfault!
在尝试configurationIIS以在同一台计算机上的两个Tomcat服务器上打开相应的pipe理器APP时遇到问题。
当我直接通过http://servername:8081/manager
和http://servername:8080/manager
(另一个Tomcat)调用站点时,一切工作正常。
当我尝试将请求redirect到http://servername/manager7
到第一个Tomcat和http://servername/manager8
到第二个服务器时,恶梦开始了。 HTML Resonse中的链接总是包含/ manager7 / …即使我调用URL http://servername/manager8
。
以下是我的重写规则。 我把它们设置在服务器级别。
<rewrite> <globalRules> <clear /> <rule name="Tomcat7" enabled="true" patternSyntax="Wildcard" stopProcessing="true"> <match url="*7*" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> <action type="Rewrite" url="http://wwwts02:8081/{R:1}{R:2}" /> </rule> <rule name="Tomcat8" enabled="true" patternSyntax="Wildcard" stopProcessing="true"> <match url="*8*" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> <action type="Rewrite" url="http://wwwts02:8080/{R:1}{R:2}" /> </rule> </globalRules> <outboundRules> <clear /> <rule name="Tomcat8" preCondition="Recognize Tomcat8" enabled="true" patternSyntax="Wildcard" stopProcessing="true"> <match filterByTags="A, Form, Img, Link, Script" pattern="/manager*" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="true"> </conditions> <action type="Rewrite" value="/manager8{R:1}" /> </rule> <rule name="Tomcat7" preCondition="Recognize Tomcat7" enabled="true" patternSyntax="Wildcard" stopProcessing="true"> <match filterByTags="A, Form, Img, Link, Script" pattern="/manager*" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="true"> </conditions> <action type="Rewrite" value="/manager7{R:1}" /> </rule> <preConditions> <preCondition name="Recognize Tomcat8"> <add input="{REQUEST_URI}" pattern="(.)*/(.*)8/(.*)" /> </preCondition> <preCondition name="Recognize Tomcat7"> <add input="{REQUEST_URI}" pattern="(.*)/(.*)7(.*)" /> </preCondition> </preConditions> </outboundRules> </rewrite>
任何人都可以想到我有其他的select?
我也试过了微软提供的ISAPIRedirect.dll,但它似乎根本不支持重写HTTP响应。
请指导我,接下来要做什么。
任何帮助将不胜感激,并随时要求进一步的信息,你需要回答。
对不起,因为我是德国人,可能我的英语不好。
模式匹配*7*
无效。 它表示<nothing><any times>
后跟<7><any times>
,更清晰:它匹配所有事物,因为包含0 or more
7
字符。
你可能想要匹配某事 例如(.*7.*)
– 允许用{R:1}
引用的括号。