URL 重写未按预期工作 - 隐藏 svc 扩展
URL Rewrite Doesn't Work as Expected - Hide svc extension
我是 URL 重写的新手。
我创建了一个 WCF Rest 服务,我正在尝试设置一个重写规则,允许在隐藏 svc 扩展时调用该服务。
我在该服务上有一个名为 "Test" 的方法,我在存在 svc 扩展的情况下成功调用了该方法。
我做了什么:
- 在网络配置中创建了一个规则:
- 检查了重写功能下 IIS 中显示的规则。
- 通过单击 "test pattern" 按钮并输入 URL 详细信息,验证了它是否如我所料:
是否重置了 IIS(多次)。
尝试此操作时收到 404 URL:
http://localhost/WcfTestApp/Service1/Test
其他内容:
我也启用了"Failed Request Tracing Rules"但是我没有看到文件夹中创建的日志。
知道为什么它没有像我预期的那样工作吗?
在此先感谢您的帮助。
我如何解决它:
我修复了未显示的失败请求跟踪日志文件,原来你需要在 IIS 设置中配置跟踪应该发生的状态代码,因为它不够智能 select全部默认。
然后通过跟踪文件(我在 IE 中打开),我注意到我的重写规则需要稍微修改,因为我能够看到 URL 我得到了什么,以及它被重写为(不起作用)。
最后,这就是我使用的。
<rule name="RemoveSvcExtension" stopProcessing="true">
<match url="^(.*)Service1/(.*)$" />
<action type="Rewrite" url="{R:1}Service1.svc/{R:2}" logRewrittenUrl="true" />
</rule>
我是 URL 重写的新手。
我创建了一个 WCF Rest 服务,我正在尝试设置一个重写规则,允许在隐藏 svc 扩展时调用该服务。
我在该服务上有一个名为 "Test" 的方法,我在存在 svc 扩展的情况下成功调用了该方法。
我做了什么:
- 在网络配置中创建了一个规则:
- 检查了重写功能下 IIS 中显示的规则。
- 通过单击 "test pattern" 按钮并输入 URL 详细信息,验证了它是否如我所料:
是否重置了 IIS(多次)。
尝试此操作时收到 404 URL:
http://localhost/WcfTestApp/Service1/Test
其他内容:
我也启用了"Failed Request Tracing Rules"但是我没有看到文件夹中创建的日志。
知道为什么它没有像我预期的那样工作吗?
在此先感谢您的帮助。
我如何解决它:
我修复了未显示的失败请求跟踪日志文件,原来你需要在 IIS 设置中配置跟踪应该发生的状态代码,因为它不够智能 select全部默认。
然后通过跟踪文件(我在 IE 中打开),我注意到我的重写规则需要稍微修改,因为我能够看到 URL 我得到了什么,以及它被重写为(不起作用)。
最后,这就是我使用的。
<rule name="RemoveSvcExtension" stopProcessing="true">
<match url="^(.*)Service1/(.*)$" />
<action type="Rewrite" url="{R:1}Service1.svc/{R:2}" logRewrittenUrl="true" />
</rule>