IIS URL 重写删除部分路径

IIS URL Rewrite removing part of path

因为软件提供商更改了我的 IIS 中托管的程序的 URL,我现在有很多损坏的链接。 URL 曾经是

https://example.com/#/subdomain/and/here/some_more

现在是

 https://example.com/#/and/here/some_more

他们只是去掉了路径的第一部分(子域

我想我可以用 URL 重写规则修复我的链接。 我试过这个:

    <rewrite>
        <rules>                
            <rule name="example" stopProcessing="true">
                <match url="(https:\/\/example\.com\/#)(\/subdomain)(\/.*)" ignoreCase="true"/>
                <action type="Redirect" url="https://example.com/#{R:3}" appendQueryString="false" />
            </rule>
        </rules>
    </rewrite>

这实际上在 "Test Pattern" 中匹配,但它不会重定向。

我也试过使用:

url="{R:1}{R:3}

但仍然没有发生重定向。我尝试使用不同的浏览器但没有成功。

感谢帮助

井号 (#) 将 URI 与片段标识符分隔开来。客户端不应该发送未编码的这个字符。相反,客户端应该只将 URI 发送到服务器(# 之前的所有内容)。所以你的客户端应用程序(网络浏览器)在#之后没有发送任何东西,我们可以在服务器上登录的 URL 中看到。所以你需要做的就是对这个字符进行编码。

https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/url-rewrite-module-configuration-reference