我见过类似的问题,但似乎没有一个真正符合我现在遇到的问题......
我有 IIS7 url-rewrite-module,我正在尝试建立我认为是“简单”重写的内容。这是我正在使用的:
<rule name="PPConnectDesigner" enabled="true" stopProcessing="true">
<match url="^en/planetpress_connect_designer/(.*?).(html|htm)$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="/robohelp/server?area=en&mgr=agm&agt=wsm&wnd=Connect Designer|defaultwindow&tpc=/robohelp/robo/server/en/projects/Connect Designer/Designer/{R:1}.htm&RINoLog28301=T&ctxid=&project=Connect Designer" appendQueryString="true" logRewrittenUrl="false" />
</rule>
Run Code Online (Sandbox Code Playgroud)
这给了我一个404错误,详细的错误信息有处理程序,StaticFile错误代码是0x80070002......但是,请求的 URL 是正确的,如果我只是从错误页面复制它并将其粘贴到另一个浏览器选项卡中,它工作正常。
另外,如果我将规则从 Rewrite 更改为 Redirect,它会完美运行!
附加信息
我意识到的一件事是,我确实有一些适用于重写的规则。而且,除了那些工作指向不是 html 的文件(我有一个 CSS 和一些 javascript)这一事实之外,只有一次非常明显的区别:那些不起作用的指向一个由 Tomcat 应用程序(特别是 RoboHelp 服务器)提供的 HTML 页面。我想知道这是否不是一个相关的点:如果 IIS 的重定向在查看由 tomcat 提供的页面时遇到问题,而我的浏览器没有问题怎么办?