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

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

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

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

  • 确认服务器系统: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.jspublicPath 是否与 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.jspublicPath 设置为 '/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/article/670770.html

(0)
华硕电脑如何开启虚拟机,具体设置步骤是什么?
上一篇 2026年9月20日 20:30
下一篇 2026年4月28日 05:18

相关推荐

  • 我的世界ec服务器怎么卡操作员bug?,操作员指令是什么

    我的世界ec服务器怎么卡操作员bug”,直接给结论:这类漏洞绝大多数属于服务端插件配置错误或旧版本权限系统缺陷,并非真正意义上的“BUG注入”,与其研究卡权限,不如掌握权限组排查与指令修复逻辑,才能在任何服务器里快速定位问题,搞清楚EC服务器卡OP的底层逻辑,别被“教程”带偏网上流传的“卡操作员bug”教程,十……

    2026年8月28日
    1000
  • AI怎么识别图片文字?,AI识别图片文字过程是怎样的?

    AI识别图片文字,即光学字符识别(OCR),本质上是一个将图像像素信息转化为计算机可理解的结构化文本数据的深度学习流水线,这一过程并非简单的“看图说话”,而是通过复杂的数学模型,模拟人类视觉神经系统的信号处理与语义理解机制,其核心结论在于:高效的OCR技术依赖于图像预处理、文字检测、序列识别以及后处理修正这四个……

    2026年2月23日
    14400
  • 广州移动商城app开发哪家好?广州移动商城app开发公司怎么选

    2026年广州移动商城app开发的破局核心,在于深度融合本地产业带供应链优势与AI驱动的全链路数字化运营,绝非简单的前端页面堆砌,2026广州电商开发新范式:从“建渠道”到“造生态”产业带升级倒逼商城App重构广州作为全国跨境电商与直播电商双料之都,2026年本地零售业已全面进入“存量博弈”阶段,传统SaaS商……

    2026年4月29日
    6000
  • ASP使用JS连接数据库数据时,如何确保安全性和高效性?

    在ASP环境中,JavaScript(JS)通常不直接连接数据库,而是通过ASP服务器端脚本(如VBScript或JScript)与数据库交互,前端JS则负责异步请求和数据展示,核心方案是:利用ASP的ADO组件连接数据库,再通过AJAX技术实现JS与ASP的数据交换,确保安全、高效且符合现代Web开发标准,A……

    2026年2月4日
    12830
  • 服务器iis怎么删了?IIS组件如何彻底卸载清除

    彻底卸载IIS服务不仅能释放服务器资源,更能从根源上消除因组件漏洞引发的安全隐患,这是维护Windows服务器安全与性能的核心结论,许多管理员认为仅停止网站或删除站点文件夹即可,实则不然,IIS的深层组件、注册表残留及功能特性若未彻底移除,服务器依然面临被攻击的风险,解决“服务器iis怎么删了”这一问题的核心在……

    2026年4月5日
    8400
  • AcckCloud日本软银VPS补货了吗?日本VPS推荐哪家稳定

    AcckCloud日本软银VPS以¥99.99/年的极致性价比补货,凭借1200GB月流量、1Gbps大带宽及内置DNS解锁流媒体的特性,成为2026年追求高性价比与稳定性的用户首选方案,在服务器租赁市场日益内卷的当下,寻找一款既便宜又稳定的海外VPS并非易事,AcckCloud此次推出的日本软银线路产品,精准……

    2026年7月6日
    17510
  • ASP.NET如何动态生成静态页面?实例代码详解与优化技巧

    在ASP.NET中,动态生成静态页面是一种高效策略,能显著提升网站性能、SEO排名和用户体验,通过将动态内容(如数据库查询结果)预渲染为静态HTML文件,系统减少服务器负载,加快页面加载速度,并增强搜索引擎友好性,下面,我将基于专业实践,详细解析核心实现原理、提供可运行实例代码,并分享优化建议,为什么选择动态生……

    2026年2月12日
    14100
  • ServerHosh美国荷兰VPS测评怎么样?美国荷兰VPS推荐

    ServerHosh 美国与荷兰 VPS 在 2026 年实测中展现出极高的性价比,其 5.99 美元/月的起步配置在延迟、I/O 性能及网络稳定性上均优于同价位竞品,是中小型企业跨境业务与开发者构建低延迟应用的理想选择,核心性能实测:2026 年最新数据解析在 2026 年云计算基础设施全面向 NVMe 与……

    2026年5月12日
    4300
  • 如何免费制作AI人声?AI真人发声软件哪个好用

    AI人声:从工具到创意伙伴的技术跃迁核心结论: AI人声技术已突破“机械模仿”的局限,正深度融入内容创作、人机交互、无障碍服务等核心场景,其核心价值在于通过高效、灵活、个性化的声音服务,释放人类创造力并解决现实痛点,而非简单替代人声,技术引擎:从拼接合成到情感化表达的进化早期拼接合成: 依赖录制大量语音片段进行……

    2026年2月16日
    20500
  • airflow平台多个表检测怎么做,airflow多表监控方法

    构建高效的数据质量监控体系,核心在于实现自动化与全覆盖,而利用Airflow实现对数据仓库中多个表的检测,是目前数据工程领域公认的 最佳实践方案, 通过合理的架构设计与任务编排,不仅能解决人工巡检的滞后性问题,还能确保数据产出的及时性与准确性,为下游业务决策提供坚实支撑, 核心结论是:建立基于Airflow的表……

    2026年3月13日
    11400

发表回复

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