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/article/670770.html

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

相关推荐

  • Win8服务器怎么查看虚拟内存?,虚拟内存不足如何解决

    win8服务器查看虚拟内存,最快的是任务管理器,最完整的是系统属性里的“虚拟内存”对话框Win8服务器对应的是Windows Server 2012/2012 R2,查看虚拟内存(也就是页面文件pagefile.sys)有三条常用路径:任务管理器“性能→内存”看已提交量、服务器管理器“本地服务器”看虚拟内存状态……

    程序编程 2026年10月22日
    200
  • 如何判断NTP服务器是否设置成功,NTP同步状态怎么查看?

    判断NTP服务器是否设置成功,最直接的办法是执行ntpstat命令看到同步状态为“synchronised”,或者使用chronyc tracking(chrony环境)查看Leap Status为Normal, 这是Linux运维和网络管理员最常用的验证标准,如果命令输出报错或长时间卡在“unsynchron……

    程序编程 2026年10月24日
    100
  • 我的世界怎么和好友玩服务器里的游戏?,联机教程是什么

    想和好友在MC服务器里玩小游戏,核心方法就三步:准备服务器、获取连接地址,然后让好友加入, 不是什么高深技术,但很多卡在第一步:不知道自己的游戏版本,也不清楚该走哪条路,下面按顺序拆开讲,照着做就能开玩,我的世界怎么和好友联机玩服务器里的游戏?先确认版本MC目前分为Java版和基岩版两个大版本,两者不能直接互通……

    2026年10月6日
    000
  • RepriseHosting西雅图独服$33/月配置如何?美国服务器租用推荐

    RepriseHosting西雅图独服凭借L5640处理器、16G内存及50TB大流量配置,以$33/月的极低门槛,成为追求高性价比与稳定性的建站及开发首选方案,在服务器租赁市场,价格与性能的平衡点往往难以捕捉,RepriseHosting推出的这款西雅图节点独立服务器,打破了传统独服高昂的入门壁垒,对于需要处……

    2026年7月5日
    11200
  • 视易d60点歌机如何连接服务器,怎么设置?

    视易d60点歌机连接服务器需要在系统设置中完成网络配置与服务器参数填写,核心步骤包括连接网络、设置服务器地址和端口,并确保点歌机与服务器在同一局域网或可通过公网IP互通,视易d60点歌机连接服务器教程无论你是KTV经营者还是家庭用户,把视易d60点歌机连上服务器是正常使用的第一步,服务器通常存储歌曲库、歌单和系……

    2026年8月10日
    1700
  • 串口服务器连接成功如何判断?,串口服务器连接不上是什么原因?

    判断串口服务器是否连接成功,不能只看网线插没插,要通过“网络层通断检测、端口连通性测试、串口数据环回验证”三层递进式排查,一步步确认设备是否真正在线并正常转发数据,平时在现场调设备,最怕的就是感觉连上了,结果数据半天出不来,其实串口服务器不像普通电脑,它没有屏幕,也没有直观的状态提示,只能靠外部工具和指示灯来判……

    2026年9月24日
    000
  • GTA5相册如何上传到服务器,GTA5相册上传失败怎么办?

    GTA5相册上传到服务器,核心路径就是通过游戏内置的Rockstar Social Club(R星官方云平台)达成:在暂停菜单或线上模式的“相片”栏中选中截图并上传,成功后照片会出现在R星官网对应账户下,不需要额外安装第三方工具,我见过太多玩家把“游戏相册”和“系统截图”混为一谈,结果找了半天上传入口,下面这份……

    2026年10月14日
    100
  • DMIT补货美西Cmin2套餐值得买吗?美国vps推荐高性价比

    DMIT补货的美西Cmin2套餐以39.99美元/年的极低门槛,结合Eyeball WEE线路与三网CMIN2回程,成为追求极致性价比与稳定回国体验用户的优选方案,在服务器租赁市场长期处于“僧多粥少”的局面下,DMIT作为老牌机房,其美西节点的补货往往能引发一波抢购热潮,这次推出的Cmin2套餐,并非简单的库存……

    2026年6月30日
    1600
  • 如何检测跨云多集群配置漂移,配置漂移怎么收敛

    跨云多集群配置漂移检测与收敛,本质上是把“期望状态”固化为版本化模板,再通过持续对比和自动回滚,让多集群配置始终与基准保持一致, 这句话听着有点绕,但落到操作层面,其实就是给每一套集群都配一个“标准答案”,然后让工具盯着它别跑偏,跨云多集群配置漂移检测工具对比,哪个更省心?多集群环境里,最怕的不是配置复杂,而是……

    2026年9月11日
    300
  • 蒂森mc2服务器呼梯怎么用,电梯控制柜调试方法?

    首次接触蒂森mc2轿厢服务器的人,最快上手呼梯的方法就是打开服务器电源后,连按两次主菜单键(M键),找到“BTV(轿厢呼梯)”或“DTV(厅外呼梯)”菜单后直接输入楼层号并按确认,电梯就会按指令运行,先用两分钟搞懂mc2服务器到底在哪个位置刚接触蒂森mc2的维保师傅,经常会在轿厢里乱翻,其实轿厢服务器并不在操纵……

    2026年10月20日
    200

发表回复

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