繁体   English   中英

URL重写无法按预期工作-隐藏svc扩展名

[英]URL Rewrite Doesn't Work as Expected - Hide svc extension

我是URL重写的新手。

我创建了WCF Rest服务,并且试图设置重写规则,该规则将允许在隐藏svc扩展名时调用该服务。

我在该服务上有一个名为“ Test”的方法,可以使用存在的svc扩展名成功调用该方法。

我做了什么:

  1. 在网络配置中创建了一个规则:

在此处输入图片说明

  1. 选中IIS中“重新写入功能”下显示的规则。

在此处输入图片说明

  1. 通过单击“测试模式”按钮并输入URL详细信息,验证它是否按预期工作:

在此处输入图片说明

  1. IISReset(几次)。

  2. 尝试使用此URL时遇到404错误:

HTTP://本地主机/ WcfTestApp /服务1 /测试

其他内容:

我还启用了“失败的请求跟踪规则”,但是我没有在该文件夹中创建任何日志。

任何想法为什么它不按我的预期工作?

在此先感谢您的帮助。

我为解决该问题所做的工作:

  1. 我修复了失败的请求跟踪日志文件不出现的问题,事实证明,您需要在IIS设置中配置应对其进行跟踪的状态代码,因为默认情况下它不适合全选。

  2. 然后通过跟踪文件(我在IE中打开),我注意到我的重写规则需要进行一些修改,因为我能够看到我得到的URL,以及将其重写为什么(不起作用)。

最终,这就是我所使用的。

<rule name="RemoveSvcExtension" stopProcessing="true">
  <match url="^(.*)Service1/(.*)$" />
  <action type="Rewrite" url="{R:1}Service1.svc/{R:2}" logRewrittenUrl="true" />
</rule>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM