我有一个托管在 ASP.NET 4 环境(Windows 7 上的 IIS 7.5)中的 WCF Web 服务,我想使用 URL 重写/重定向。我需要这样做的原因是因为我无法更改某些移动设备代码来仅插入参数。
这是我想要的网址:
http://server.test.com/VirtualDirectory/theOrganization/RequestService.svc/REST/GetIssueTypes
真实网址是:
请注意我要如何删除 theOrganization 并将其附加到查询字符串以进行重定向。
<rule name="test" stopProcessing="true">
<match url="(.+\.?)/(.+)/RequestService.svc/(.+)" />
<action type="Redirect" url="{R:1}/RequestService.svc/{R:3}?organization={R:2}"
redirectType="Permanent" />
</rule>
我知道写规则有点奇怪。认为我的正则表达式可以正确匹配。我在 IIS 管理器的 URL 重写测试器中运行表达式,它似乎与我想要的匹配。另外,我确实安装了 IIS URL Rewrite,并且我制定了一个简单的规则并且它有效。
但是,当我使用浏览器尝试它时,它无法重定向并导致 404。我希望 IIS 重写专家能够介入,因为我还很陌生。
谢谢!