gpt4 book ai didi

javascript - 如何使用 IIS 设置 react-router clear URL?

转载 作者:数据小太阳 更新时间:2023-10-29 04:25:04 27 4
gpt4 key购买 nike

React-Router通过简单的路由组件使您的 ReactJS 应用程序成为 SPA。部署到 IIS 时,使用 bashHistory 进行设置时一切正常。但是,当我尝试使用 browserHistory 时,IIS 试图返回一个目录,而不是让 React-Router 获取并解析路由。如何设置 React-Router 以在 IIS 环境中工作?

最佳答案

让 React-Router 与 IIS 一起工作的关键是设置 URL 重写规则。在查看其他人如何使用 IIS 设置 AngularJS SPA 应用程序后,我想出了以下解决方案。

  1. 下载并安装URL Rewrite在您的服务器上(开发和生产)

  2. 设置规则以捕获任何不是文件和目录的 url 路由。或者,您可以否定您希望定期提供的任何实际目录。可以在此处找到更多信息 Microsoft's Documentation

    <?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="ReactRouter Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(docs)" negate="true" />
</conditions>
<action type="Rewrite" url="index.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
  1. 在您的基本 html 页面 (index.html) 中添加 <base/>带有 href 的标签属性到您的应用。

<base href='/path/to/my/app'/>

关于javascript - 如何使用 IIS 设置 react-router clear URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39967921/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com