我在一个使用.NET作为后端,ReactJS作为前端框架的应用程序中工作。目前,我们想从React Hash Router迁移到React Browser Router。变化进行得很顺利。我们面临的唯一问题是,我们无法编写一个成功的IIS重写规则,将带有“#”的URL重定向到没有哈希的URL。
有没有什么方法可以使用IIS重定向将:https://sampleApp/#/category/3/id/45255更改为:https://sampleApp/category/3/id/45255
我们已经尝试了这个规则和一些变化。
<rule name="HashRemoval" stopProcessing="true">
<match url="(.*)#(.*)" />
<action type="Redirect" url="{R:1}{R:2}" redirectType="Permanent" />
</rule>
字符串
1条答案
按热度按时间zwghvu4y1#
在IIS中,URL重写模块不会在本机处理URL的锚部分,因为这部分在客户端处理,而不是作为HTTP请求的一部分发送到服务器。请求不会到达服务器,因此IIS URL重写规则无法与之匹配,因为它永远不会在服务器端的传入请求中看到。
所以如果你在客户端执行重定向,那就更好了。
字符串
下面是IIS URL重写路由器规则:
型