IIS7因休息而重写不起作用
我有一个REST服务,正在尝试删除.svc-一个常见的任务/问题 服务器上的应用程序位于默认网站下的虚拟目录中,不确定这是否重要 我已安装IIS重写模块,并尝试为此创建重写规则IIS7因休息而重写不起作用,iis,url,rest,rewrite,Iis,Url,Rest,Rewrite,我有一个REST服务,正在尝试删除.svc-一个常见的任务/问题 服务器上的应用程序位于默认网站下的虚拟目录中,不确定这是否重要 我已安装IIS重写模块,并尝试为此创建重写规则 http://blah.me.com/here/thingys/get?id=1111 要改写为: http://blah.me.com/service.svc/thingys/get?id=1111 在my web.conf中创建了以下内容: <rewrite> <rules>
http://blah.me.com/here/thingys/get?id=1111
要改写为:
http://blah.me.com/service.svc/thingys/get?id=1111
在my 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
物理路径C:\MyApp\here\thingys\get
C:\Myapp是IIS中虚拟目录指向的正确物理目录。
这里有我遗漏的东西吗?我尝试在默认网站和应用程序下创建此规则,无论是单独创建还是一起创建。
非常感谢
p您可以使用:
<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>
IIS只会提供URI中在之后的部分,也许可以尝试一下-我认为他们在那里有论坛,更关注IIS和重写模块。