我有一个 REST 服务并试图删除 .svc - 一个常见的任务/问题。
服务器上的应用程序位于默认网站下的虚拟目录中(不确定这是否重要)
我已经安装了 IIS 重写模块并尝试为此创建重写规则。
http://blah.me.com/here/thingys/get?id=1111
重写为:
http://blah.me.com/service.svc/thingys/get?id=1111
在我的 web.conf 中创建了以下内容:
<rewrite>
<rules>
<rule name="GEAPI /here/ to /service.svc/">
<match url="^(.*?)/here/(.*)$" />
<action type="Rewrite" url="{R:1}/service.svc/{R:2}" />
</rule>
</rules>
</rewrite>
在 GUI 中,正则表达式确实测试正确。
但是 - 当我在服务器上的浏览器中运行它时,它会给出以下 404 错误:
错误代码 0x80070002
请求的 URL http://blah.me.com:80/here/thingys/get?id=1111
物理路径 C: \MyApp\here\thingys\get
C:\Myapp 是 IIS 中的虚拟目录指向的正确物理目录。
我在这里缺少什么吗?我曾尝试在默认网站和应用程序下单独或一起创建此规则。
非常感谢
磷