0

编辑问题以便更好地理解:

我有一个 WCF 服务,我的任何链接看起来都像:

https://192.168.1.31/ContactLibrary2.0HTTPS/Service.svc/......

我想摆脱Service.svc. 我在 IIS 中安装了 URL Writer,但我不知道如何使用它。我搜索了一下,没有找到任何可以帮助我解决这个特定问题的东西。

Any idea ?
4

1 回答 1

1

假设您正在配置/ContactLibrary2.0HTTPS直接托管的应用程序(而不是包含该目录的网站,例如),您可以为以下内容添加完全匹配:

rest/GetContact

重写网址为:

Service.svc/rest/GetContact

但是,也许您希望重写Service.svc 的每个操作;那么你需要一个正则表达式匹配:

^rest/.*$

重写网址为:

Service.svc/{R:0}

更新

假设您还需要从 HTML 页面的 url 中删除该字符串,则需要将上述入站规则与新的出站规则结合起来,应用于您感兴趣的文件。

为此,请:

  1. 向您的网站添加新的出站规则并为其命名;
  2. 添加具有两个规则的新前提条件(匹配其中任何一个):
    • {RESPONSE_CONTENT_TYPE}火柴text/html
    • {RESPONSE_CONTENT_TYPE}火柴application/xhtml+xmll
  3. 配置规则以匹配响应范围,匹配A标签内的内容:
    • 应该使用正则表达式匹配模式;
    • 使用这种模式:^(.*)(/Service\.svc/)(.*)$
    • 不区分大小写;
  4. 将操作配置为rewrite,使用以下值:{R:1}{R:3}
于 2012-04-10T08:27:14.587 回答