使用IIS Url Rewrite 2.0和ARR重写自定义标记属性

使用IIS Url Rewrite 2.0和ARR重写自定义标记属性,iis,url-rewriting,custom-tags,arr,Iis,Url Rewriting,Custom Tags,Arr,我开发了一个自定义网格控件,它使用data-*属性来配置网格的工作方式(类似于引导数据API组件的工作方式)。对于特定部署,我必须使用IIS和应用程序请求路由(ARR)将我的web应用程序代理到另一个web应用程序中+URL重写。代理部分已完成,我当前正在尝试配置出站规则,以便将URL重写为匹配。例如,我当前设置了如下规则: 通过更新位置:标头重写HTTP重定向 在标准标记(例如,A、区域、基等)中重写URI的Html内容 重写相对URI的Css内容(例如/CASE.axd->/blog/CA

我开发了一个自定义网格控件,它使用
data-*
属性来配置网格的工作方式(类似于引导数据API组件的工作方式)。对于特定部署,我必须使用IIS和应用程序请求路由(ARR)将我的web应用程序代理到另一个web应用程序中+URL重写。代理部分已完成,我当前正在尝试配置出站规则,以便将URL重写为匹配。例如,我当前设置了如下规则:

  • 通过更新
    位置:
    标头重写HTTP重定向
  • 在标准标记(例如,A、区域、基等)中重写URI的Html内容
  • 重写相对URI的Css内容(例如/CASE.axd->/blog/CASE.axd)
我遇到的最后一个问题是,让URL重写模块在数据属性中接受我的URL,例如,如果我的网格类似于:

<table data-grid data-query="/api/users/">

应改写为

<table data-grid data-query="/blog/api/users/">


我强调,所有其他标记,例如
,我都有相同的问题,而且(尽管未经Microsoft确认)IIS似乎无法处理包含-

一个对我有效的解决方法是使用另一个出站规则。在本例中,我试图替换img标记中的数据缩放图像属性(您需要在“匹配”和“操作”中用表替换img,用数据查询替换数据缩放图像


" />

希望这有助于

IIS上的ARR似乎在标记中包含带破折号(-)的属性时存在问题


更新到v3.0.1952对我来说似乎已经解决了这个问题,但我仍在调查。

有些晚了,但这是在Web版本(2.0.1952)中发布的:

重要-此版本中的更改

  • Windows 10和Windows Server 2016支持-现在可以在此版本的Windows 10或Windows Server 2016上安装URL重写模块2.0
  • 现在支持包含破折号的自定义属性。这是必需的,因为HTML 5具有以下确定HTML属性名称的规则:
  • 与KB2974666一样,包含URL重写2.0(2014年6月)的修补程序

在测试之后,我发现了完全相同的行为。我发现的唯一信息是:我指的是URL重写7.2.1952,而不是ARR。
<customTags>
    <tags name="Bootgrid">
        <tag name="table" attribute="data-query" />
        <tag name="table" attribute="data-update" />
        <!-- This next tag WORKS -->
        <tag name="property" attribute="value" />
    </tags>
</customTags>
<rule name="RewriteRelativePathsCustomTags1" preCondition="IsHtml" enabled="true">
    <match filterByTags="None" pattern="&lt;img ([^>]*)data-zoom-image=&quot;(.*?)&quot;([^>]*)>" />
    <action type="Rewrite" value="&lt;img {R:1}data-zoom-image=&quotYOUR VALUE TO REWRITE i.e /blog{R:2}&quot;{R:3}>" />
</rule>
<preConditions>
    <preCondition name="IsHtml">
        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
    </preCondition>
</preConditions>