После прочтения сообщения в блоге о взломе, добавляющем атрибут к ссылке с помощью перезаписи URL-адреса, мне удалось заставить его работать, используя некоторый экранирующий хак, чтобы обмануть правило перезаписи и создать правильную ссылку.
Использование rule:
<rule name="OutboundNewThreadsLink" preCondition="ResponseIsXml1">
<match filterByTags="CustomTags" customTags="XmlTags" pattern="^(.*/)pages/frontend/forum/showpost\.aspx\?forum=([^=&]+)&(?:amp;)?post=([^=&]+)&(?:amp;)?page=([^=&]+)$" />
<action type="Rewrite" value=""/><link>{R:1}forum/{R:2}/post/{R:3}/{R:4}</link><copyright href="" />
</rule>
<customTags>
<tags name="XmlTags">
<tag name="category" attribute="href" />
</tags>
</customTags>
Сделал бы это rss xml:
<rss version="2.0">
<channel>
<title>test</title>
<link>https://localhost:44347</link>
<description>test</description>
<ttl>5</ttl>
<item>
<title>test</title>
<description>test</description>
<category href="https://localhost:44347/pages/frontend/forum/showpost.aspx?forum=andet&post=17-traade-forsvinder"/>
<pubDate>Tue, 26 May 2020 13:41:18 GMT</pubDate>
</item>
</channel>
</rss>
Отображать как это:
<rss version="2.0">
<channel>
<title>test</title>
<link>https://localhost:44347</link>
<description>test</description>
<ttl>5</ttl>
<item>
<title>test</title>
<description>test</description>
<category href=""/>
<link>https://localhost:44347/forum/andet/post/17-traade-forsvinder</link>
<copyright href=""/>
<pubDate>Tue, 26 May 2020 13:41:18 GMT</pubDate>
</item>
</channel>
</rss>
Очевидно, что категория и авторские права не содержат атрибутов href , но вы можете использовать это с <guid isPermaLink="false">
и <source url="">
или с любыми другими тегами, которые содержат значения атрибутов, чтобы создать 100% действительный RSS-канал.
Я не продолжил идти по этому пути, и вместо этого предпочел предварительно перезаписать ссылки на каналы.
Это просто для того, чтобы кто-нибудь знал, что это действительно возможно, однако это своего рода взлом, поскольку вам нужно создать RSS-канал для работы с перезаписью, и если канал загружается в любом месте, где перезапись не включена, это приведет к недопустимому каналу RSS.