使用IIS Url重写模块出站规则向HTML标记添加属性

时间:2014-01-29 10:30:52

标签: asp.net .net iis url-rewrite-module

我需要为rel="nofollow"属性值与定义的模式匹配的所有<a>标记添加href属性。

我认为可以使用IIS Url Rewrite模块执行此操作,使用带有自定义标记重写的出站规则将值分配给rel属性。规则看起来像这样:

<rule name="Shop url rewrite" preCondition="ResponseIsHtml">
    <match filterByTags="CustomTags" customTags="Anchor rel attribute" pattern="^$" />
    <action type="Rewrite" value="nofollow" />
</rule>
<preConditions>
    <preCondition name="ResponseIsHtml">
        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
    </preCondition>
</preConditions>
<customTags>
    <tags name="Anchor rel attribute">
        <tag name="a" attribute="rel" />
    </tags>
</customTags>

但是,由于现有代码没有rel属性,因此规则无法匹配,因此不会发生任何事情。

是否有人知道是否可以使用此技术向标记添加不存在的属性?

1 个答案:

答案 0 :(得分:4)

使用如下规则

来存档此目标有一种棘手的方法
<outboundRules>
        <rule name="outbound" stopProcessing="true">
            <match filterByTags="A" pattern="(.*)" />
            <action type="Rewrite" value="{R:1}&quot; ref=&quot;nofollow" />
        </rule>
    </outboundRules>