由于软件提供者更改了IIS中托管的Programm的URL,因此我现在有很多断开的链接。 该网址曾经是
https://example.com/#/subdomain/and/here/some_more
现在是
https://example.com/#/and/here/some_more
他们只是删除了路径的第一部分( subdomain )
我认为我可以使用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>
我也尝试使用:
url="{R:1}{R:3}
,但仍未发生重定向。我尝试使用其他浏览器没有成功。
感谢您的帮助
答案 0 :(得分:1)
数字符号(#)从片段标识符中分隔URI。客户端永远不要发送未编码的字符。相反,客户端应仅将URI发送到服务器(#之前的所有内容)。因此,您的客户端应用程序(网络浏览器)在#之后不会发送任何信息,我们可以在服务器上记录的URL中看到该信息。因此,您需要做的就是对该字符进行编码。