Vue项目怎么部署到IIS,iis部署vue404怎么解决

Vue 项目部署到 IIS 并不复杂,核心就三步:本地构建出 dist 静态文件、在 Windows 服务器上启用 IIS 并安装 URL Rewrite、把 dist 目录设为站点物理路径,再配好 web.config 处理 history 路由刷新 404。

部署前要准备什么:先别急着上传文件

先把环境理清楚,后面操作会顺畅很多。

404 到底有多坑!新手卡半天,老手1小时,邪修 1 分钟!
加载中
404 到底有多坑!新手卡半天,老手1小时,邪修 1 分钟!
  • 确认服务器系统:Windows Server 2019、2026 或 Windows 10/11 专业版都可以,IIS 是系统自带功能,不用额外付费。
  • 确认 Vue 项目路由模式:hash 模式部署最简单,history 模式需要额外配置重写规则。
  • 准备基础工具:能远程桌面登录服务器,本地 Node.js 环境能执行 npm run build。
  • 确认部署层级:部署在站点根目录还是子目录,会影响 publicPath 和 web.config 写法。

vue项目部署到iis服务器详细步骤:从本地构建到站点上线

第一步:本地构建出生产包

进入 Vue 项目根目录,执行 npm run build,构建完成后,项目里会生成 dist 文件夹,这个文件夹就是需要上传的全部内容。

构建前先检查 vue.config.js 里的 publicPath 配置,部署在 IIS 站点根目录时,publicPath 设为 ;部署在子目录,/portal/,就要设成 '/portal/',这一步做错,后面很容易出现空白页。

第二步:在服务器上安装 IIS 与 URL Rewrite 模块

打开服务器管理器,添加角色和功能,勾选 Web 服务器(IIS),必须勾选“静态内容”和“HTTP 错误”功能,否则 IIS 可能无法正确返回 index.html。

安装完 IIS 后,history 路由部署还需要 URL Rewrite 模块,这个模块不属于 IIS 默认组件,需要到微软官方页面下载安装,如果服务器不能联网,建议提前准备离线安装包。

第三步:创建站点并指向 dist 目录

把本地 dist 文件夹整体上传到服务器,比如放在

Vue项目怎么部署到IIS,iis部署vue404怎么解决

D:sitesvue-app,打开 IIS 管理器,右键“网站”,选择“添加网站”。

填写站点名称,物理路径指向 dist 目录,绑定 IP 和端口,没有域名时,先用服务器 IP 加端口测试,点击“浏览”能看到页面,说明静态资源加载正常。

第四步:iis部署vue项目刷新404怎么解决

history 模式下直接访问 /user/list 这类前端路由,IIS 会去服务器寻找真实文件 user/list,找不到就返回 404,解决办法是在站点根目录放一个 web.config 文件,把非文件非目录请求重写到 index.html。

vue history模式iis配置:web.config 正确写法和位置

web.config 要放在 dist 根目录,也就是站点物理路径下,文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Vue History Mode" stopProcessing="true">
          <match url="." />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/index.html" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

这段规则的意思是:先判断请求路径不是真实存在的文件,也不是真实目录,就把请求交给 index.html,如果接口路径也是 /api/ 开头,需要额外加条件排除,否则 /api/login 也会被重写到 index.html,导致接口 404,可以在 conditions 里再加一条:

<add input="{REQUEST_URI}" pattern="/api/" negate="true" />

Vue项目怎么部署到IIS,iis部署vue404怎么解决

URL Rewrite 模块没安装,web.config 里的 rewrite 节点会让站点直接报 500,此时要么先安装模块,要么暂时删掉 rewrite 配置。

hash 模式和 history 模式的部署差异可以看这个表:

对比项 hash 模式 history 模式
是否需要 web.config 不需要 需要
刷新或直接访问前端路由 不会 404 默认会 404
URL 美观度 带 # 号 更干净
部署复杂度 低 中等

iis发布vue项目空白页怎么排查:按顺序检查这五点

出现空白页不要慌,多数情况下不是 Vue 代码问题,而是路径或 IIS 配置问题,按下面顺序排查:

  • 第一步:打开浏览器开发者工具,看控制台报错,大部分空白页是 JS 或 CSS 路径 404 导致。
  • 第二步:检查 vue.config.js 的 publicPath 是否与 IIS 站点层级一致,子目录部署最容易在这里出错。
  • 第三步:检查 IIS 站点是否误启用了“目录浏览”,不要把目录浏览当首页,应设置默认文档为 index.html。
  • 第四步:检查 MIME 类型,IIS 默认包含 .js、.css、.html 的 MIME 映射,如果服务器被安全软件改过,可能缺少 application/javascript,导致脚本不执行。
  • 第五步:检查 web.config 是否格式错误,可暂时移除 rewrite 规则,用 hash 模式验证静态资源是否正常。

Windows Server 2019部署Vue项目:权限与防火墙细节

在 Windows Server 2019 上部署,账户权限容易被人忽略,站点物理路径所在的文件夹要给 IIS_IUSRS 用户读取权限。

dist 放在 D 盘,需要进入文件夹属性,在安全选项卡里添加 IIS_IUSRS,授予读取和执行权限,否则可能出现 401.3 或 403 错误。

Vue项目怎么部署到IIS,iis部署vue404怎么解决

防火墙方面,如果绑定非 80 端口,8080,需要在 Windows 防火墙入站规则里放行该端口,很多部署完成后外网访问不了,问题不在 IIS,而在服务器安全组或本机防火墙,国内云服务器还要在控制台安全组里放行对应端口。

部署成子应用时怎么配置:场景化操作

有些团队把 Vue 项目部署成主站下的子应用,/admin/,这时要同时在 Vue 和 IIS 两边调整。

  • Vue 端:vue.config.js 里 publicPath 设置为 '/admin/',路由 base 也设置为 '/admin/'。
  • IIS 端:在主站点下添加应用程序,别名 admin,物理路径指向子应用的 dist 文件夹。
  • web.config 的 rewrite action 要写成 /admin/index.html,而不是 /index.html。

这个场景容易出现的错误是:publicPath 改了但路由 base 没改,或者 web.config 写错重写路径。

Vue 部署到 IIS 的关键不是上传文件本身,而是三个配置点对齐:publicPath、web.config 重写规则、站点物理路径权限,只要这三个点一致,history 模式也能稳定运行。

Q&A:vue项目部署到iis服务器相关问题

vue项目部署到iis服务器一定要用 web.config 吗?

不是,Vue 项目使用 hash 模式路由,并且部署在站点根目录,不需要 web.config 也能正常运行,只有 history 模式或子目录部署时才需要 web.config 做重写。

iis部署vue项目刷新404怎么解决最省事?

最省事的做法是在站点根目录放 web.config,使用 URL Rewrite 规则把非文件、非目录请求重写到 index.html,前提是服务器已安装 URL Rewrite 模块。

Windows Server 2019部署Vue项目需要额外付费吗?

不需要,IIS 是 Windows Server 自带功能,URL Rewrite 模块也可从微软官网免费下载,整个部署过程不涉及商业授权费用。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/vue%e9%a1%b9%e7%9b%ae%e6%80%8e%e4%b9%88%e9%83%a8%e7%bd%b2%e5%88%b0iis%ef%bc%8ciis%e9%83%a8%e7%bd%b2vue404%e6%80%8e%e4%b9%88%e8%a7%a3%e5%86%b3/

赞 (0)
华硕电脑如何开启虚拟机,具体设置步骤是什么?
上一篇 2026年9月20日 20:30
DNS服务器不能用是怎么回事,dns服务器未响应怎么办?
下一篇 2026年9月20日 20:33

相关推荐

  • XP服务器系统如何改装成Win7系统,详细操作步骤有哪些?

    老旧的XP服务器要装Win7系统,核心结论是:只要硬件驱动有Win7版本支持,完全可以直接用U盘PE或光盘引导重装,关键是提前备份数据、确认磁盘控制器驱动和BIOS启动模式,xp服务器安装win7系统的可行性判断很多人第一反应是“服务器怎么能装个人系统”,但实际工作中,不少单位的老服务器跑的就是Windows……

    2026年9月10日
    300
  • UCloud 618轻量云99元/月是真的吗?云服务器租用多少钱一个月

    UCloud 618年中上云专场期间,4C16G10M国内轻量云服务器价格低至99元/月,这是目前市面上极具性价比的入门级高配方案,适合个人开发者、小型企业官网及测试环境部署,在云计算市场日益内卷的当下,寻找稳定且低成本的服务器资源已成为许多技术从业者和创业者的刚需,UCloud作为老牌云服务商,在2026年的……

    2026年6月30日
    2000
  • s10服务器连接失败的原因是什么,怎么解决?

    荣耀S10(通常指荣耀畅玩S10或华为S10系列)服务器连接失败,绝大多数情况下不是手机硬件坏了,而是系统版本过旧、网络权限设置错误或路由器兼容性问题导致的,本文基于2026年主流安卓生态和网络环境,给出从排查到解决的完整链路,为什么你的手机突然连不上服务器服务器连接失败在老旧机型上高发,根源在于近年应用和服务……

    2026年10月18日
    200
  • OBHostVPS测评,德国加拿大9.95美元/年值得买吗?OBHostVPS怎么样

    OBHostVPS 2026 年实测结论明确:其加拿大节点在 9.95 美元/年的极致性价比下,网络延迟与丢包率表现优异,是构建低延迟跨境业务或海外个人站点的优选方案,但德国节点在部分时段存在波动,需根据具体业务场景权衡选择,在 2026 年云计算市场趋于饱和的背景下,用户对于“便宜好用的 VPS 推荐”的需求……

    2026年5月10日
    4900
  • 华科HK-6216-M1怎么配IP地址?,服务器地址怎么设置

    华科HK-6216-M1服务器配地址,核心就两条线:BMC管理口独立配静态IP,业务口按上架环境选DHCP或静态,按“确认接口→设置BMC→配置业务口→验证连通性”走完,基本不会返工,华科HK-6216-M1服务器配地址前必须确认的3件事动手前先把下面三项搞清楚,否则配到一半容易卡在机房现场,确认网口类型:管理……

    2026年9月15日
    100
  • 小米盒子3s如何设置SSR服务器?, SSR服务器怎么设置

    小米盒子3s设置SSR服务器,核心思路是先在电脑或手机上完成SSR客户端配置,再通过局域网共享或路由器代理方式让盒子接入,整个过程需要约15分钟,且盒子需保持与配置设备在同一网络下,准备工作:哪些东西必须提前弄好设置SSR服务器前,先确认三件事,缺一不可,小米盒子3s的系统版本要求小米盒子3s出厂系统基于And……

    2026年8月13日
    1100
  • 在Aspnet中,如何高效获取当前目录路径?方法汇总解析!

    在ASP.NET应用程序开发中,精准地获取当前工作目录、应用程序根目录或特定文件的物理路径是一项基础且关键的任务,这涉及到文件操作、配置读取、资源加载等多个核心场景,不同的运行环境(如IIS、IIS Express、Kestrel)和不同的ASP.NET技术栈(如Web Forms, MVC, Core)可能略……

    2026年2月5日
    10230
  • 苏州千兆带宽服务器报价多少?,计费标准怎么算?

    苏州千兆带宽服务器的报价没有统一标准,核心差异在于计费口径——按固定带宽月租、95峰值带宽或实际流量三种模式,价格可相差数倍,企业需根据自身业务峰值特征选择,苏州千兆带宽服务器多少钱一个月?报价口径先看清很多客户第一次问“苏州千兆带宽服务器多少钱”,得到的报价可能从几百到几万都有,这不是服务商乱报,而是因为千兆……

    程序编程 2026年8月9日
    1800
  • 怎么在酷番云购买服务器搭建网站csdn?,有哪些注意事项?

    在腾讯云购买服务器搭建网站,核心答案很简单:先注册账号完成实名认证,在轻量应用服务器或云服务器CVM页面选购配置,支付后完成备案,再通过宝塔面板或命令行部署网站环境并上传代码即可,下面我把每一步都拆开来讲,包含选购建议、下单路径、备案流程和实际部署操作,照着做就能跑通全流程,腾讯云服务器怎么买才划算:轻量与CV……

    2026年8月24日
    600
  • AIoT电流消耗怎么测?AIoT设备功耗测试方法详解

    在AIoT(人工智能物联网)设备的设计与开发过程中,电流消耗直接决定了产品的续航能力、稳定性以及最终的用户体验,核心结论在于:降低AIoT电流消耗并非单纯依靠硬件选型,而是需要建立一套涵盖芯片选型、电源管理策略、软件算法优化以及通信协议调整的系统级工程方案,只有在系统层面进行精细化管控,才能在有限的能源预算下……

    2026年3月17日
    11100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注