【发布时间】:2019-05-08 23:42:27
【问题描述】:
我想在子域的 iis 服务器上部署 react.js 项目。
我在下面做的工作:
- 带有基本名称的BrowserRouter
从 'react-router-dom' 导入 { BrowserRouter };
<BrowserRouter basename="/Subdomain">
<App></App>
</BrowserRouter>
应用内;
<Switch>
<Route exact path="/" component={Main} />
...
</Switch>
-
在 package.json 中添加“主页”
“主页”:“https://domain/subdomain/”
为 IIS 安装 URL Rewrite 并创建 web.config
https://www.iis.net/downloads/microsoft/url-rewrite
web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Rewrite Text Requests" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_METHOD}" pattern="^GET$" />
<add input="{HTTP_ACCEPT}" pattern="^text/html" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="/index.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
虽然我做了 iisreset,但在 BrowserRouter 中的链接处打开页面时仍然出现错误(404 - 找不到文件或目录。)。
感谢您的帮助。
【问题讨论】:
-
你找到解决办法了吗?
标签: reactjs iis url-rewriting web-config webdeploy