我是URL Rewrite的新手。
我创建了一个WCF Rest服务,我正在尝试设置一个重写规则,允许在隐藏svc扩展名时调用服务。
我在该服务上有一个名为“Test”的方法,我使用svc扩展名成功调用。
我做了什么:
IISReset(多次)。
我在尝试此网址时收到404:
http://localhost/WcfTestApp/Service1/Test
其他材料:
我还启用了“失败的请求跟踪规则”但我看不到文件夹中创建的日志。
任何想法为什么它没有像我期望的那样工作?
提前感谢您的帮助。
答案 0 :(得分:1)
我做了什么来解决它:
我修复了未出现的失败请求跟踪日志文件,结果你需要在IIS设置中配置应该进行跟踪的状态代码,因为它不够聪明,无法全部选择默认值。
然后通过跟踪文件(我在IE中打开),我注意到我的重写规则需要稍作修改,因为我能够看到我得到了什么URL,以及它被重写为什么(没有工作)。
最终,这就是我所使用的。
<rule name="RemoveSvcExtension" stopProcessing="true">
<match url="^(.*)Service1/(.*)$" />
<action type="Rewrite" url="{R:1}Service1.svc/{R:2}" logRewrittenUrl="true" />
</rule>