单页面应用部署到iis上可以正常打开,刷新就404

在这里插入图片描述

当您遇到Dumi打包的网站部署到IIS上可以正常打开首页,但刷新页面时出现404错误的情况,这通常与以下几个方面有关:

  1. 路由处理

    • Dumi生成的项目通常基于SPA(Single Page Application)架构,使用前端路由来实现无刷新导航。这意味着大部分页面切换是在浏览器层面完成的,而不是向服务器发送新的请求。
    • 当直接访问首页时,服务器返回包含前端应用逻辑的HTML文件以及相关的JS、CSS等资源。然而,当用户在浏览器中手动刷新页面或直接访问某个内部路由(如 /docs/api),IIS可能无法识别这些非根路径的请求,并尝试寻找实际的物理文件,从而导致404错误。
  2. URL重写配置

    • 为了解决SPA应用在刷新或直接访问内部路由时的404问题,需要在IIS中配置URL重写规则,确保所有非静态资源的请求都被重定向回网站的入口HTML文件(通常是index.html)。这样,无论访问哪个路径,浏览器都会加载同一个HTML文件,由前端路由处理器解析URL并呈现对应的视图。
  3. Web.config配置

    • 在Dumi项目的根目录下,通常会有一个web.config文件,其中包含了针对IIS的URL重写规则。确保在部署时这个文件被正确上传至服务器,并且IIS能够识别和应用这些规则。
    • 如果没有提供web.config,或者现有配置不适用于您的环境,您需要手动创建或调整该文件以实现所需的重写逻辑。一个基本的重写规则示例可能如下:
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule 
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值