Vite创建的React应用在IIS服务器刷新报错问题求助
解决方案
1. 修复web.config文件格式
你当前的web.config包含多余的<code>标签,这是导致IIS解析失败、提示缺少根<configuration>标签的直接原因。请替换为以下纯净的XML内容:
<?xml version="1.0"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="React 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="^/(api)" negate="true" /> </conditions> <action type="Rewrite" url="/" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
将该文件保存到D:\General Store\dist目录下,覆盖原有文件。
2. 安装IIS URL Rewrite模块
React客户端路由的刷新重写依赖IIS的URL Rewrite模块,未安装的话即使web.config正确也无法生效:
- 打开IIS管理器,检查是否存在
URL Rewrite图标,若没有则需下载安装对应系统版本的模块; - 安装完成后执行命令
iisreset重启IIS服务。
3. 验证应用池权限
确保IIS应用池对D:\General Store\dist目录拥有读取权限:
- 右键dist目录 → 属性 → 安全选项卡;
- 确认包含应用池对应用户(通常为
IIS AppPool\[你的应用池名称]),并赋予其读取和执行权限。
4. 清理无效配置文件
移除目录下的.htaccess和_redirects文件,这些是Apache或Netlify的配置,在IIS环境下无效且可能造成干扰。
5. 确认Vite构建基础路径
若站点部署在IIS根路径(如http://192.168.0.6:86/),确保vite.config.js中的base设置为'/'或留空;若为子路径则需对应调整。
完成以上步骤后,刷新路由页面即可正常访问。
内容的提问来源于stack exchange,提问作者Borhan Uddin
相关产品推荐
相关产品推荐

