Vue项目部署到IIS后刷新报错404的问题及解决方法

yizhihongxing

下面是详细的“Vue项目部署到IIS后刷新报错404的问题及解决方法”的攻略:

问题描述

在将Vue项目部署到IIS中后,如果在非首页路由下刷新页面,将会出现404错误。原因是IIS对于router的path不识别,需要进行相应的设置。

解决方法

1.在项目根目录下创建web.config文件,内容如下(新版Vue CLI生成的项目中已有该配置文件):

<?xml version="1.0"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Handle History Mode">
          <match url=".*" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

2.在vue.config.js中进行页面路径配置:

module.exports = {
  publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
  outputDir: 'dist',
  assetsDir: 'assets',
  indexPath: 'index.html',
  filenameHashing: true,
  devServer: {
      ...
  }
}

3.在路由文件中设置base路径

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  {
    path: '/about',
    name: 'About',
    component: About
  }
]

const router = new VueRouter({
  mode: 'history',
  base: '/dist/',//网站目录
  routes
})

示例说明:

假设我们有一个Vue项目,项目名为vue-demo,项目输出打包后的文件夹名为dist,现在需要将该项目部署到IIS根目录,路径为http://localhost:8001/。这时候,如果直接访问首页,是没有问题的,但如果访问http://localhost:8001/about,就会出现404错误。

首先,我们需要在项目根目录下创建web.config文件,并在文件中写入如上面代码所示的内容,用于配置IIS服务器。

然后,在vue.config.js中进行页面路径配置,确保输出的页面文件名和路径都正确。

最后,在路由文件中配置base路径,指向部署后的目录,这样路由就能正常的被识别,刷新也不会出现404错误了。

希望这个回答能够帮到你。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue项目部署到IIS后刷新报错404的问题及解决方法 - Python技术站

(1)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • echarts报错:Error in mounted hook的解决方法

    下面是详细讲解“echarts报错:Error in mounted hook的解决方法”的完整攻略。 问题描述 当我们使用 echarts 绘制图表时,有时会遇到“Error in mounted hook”的错误提示,该错误提示通常出现在我们使用 vue 进行网站开发时。具体的错误提示信息如下: [Vue warn]: Error in mounted …

    http 2023年5月13日
    00
  • CT有什么作用?

    CT作用详细讲解 CT是指“Computed Tomography”,即计算机断层扫描。它是一种医学影像技术,可以通过多次X线辐射扫描并计算出大量数据,然后使用计算机对这些数据进行处理,生成具有高分辨率、高精度的三维影像,以便医生对患者的疾病进行诊断和治疗。 CT技术的作用 CT技术具有以下几个方面的作用: 1. 提供详细的解剖结构信息 CT可以提供清晰、详…

    云计算 2023年4月27日
    00
  • 解决IDEA配置tomcat启动报错问题

    以下是关于“解决IDEA配置Tomcat启动报错问题”的完整攻略: 简介 在使用IDEA进行Web应用开发时,有时会出现配置Tomcat启动报错的问题。本文将介绍这个问题的原因及解决方案,并提供两个示例说明。 原因 IDEA配置Tomcat启动报错的原因可能是以下几个方面: Tomcat版本不兼容:如果Tomcat版本不兼容,可能会导致IDEA无法正确启动T…

    http 2023年5月13日
    00
  • HTTP连接超时的原因是什么?

    HTTP连接超时是指客户端在规定时间内未能与服务器建立连接或在规定时间内未能从服务器读取到数据。其原因可能有多种,以下是常见的几种原因: 服务器未响应。当客户端向服务器发送请求时,服务器可能因为网络拥堵、系统负载过高、服务器宕机等原因未能及时响应,导致客户端超时。 客户端网络问题。当客户端网络不稳定或出现丢包、延迟等情况时,客户端需要重新建立连接,可能会导致…

    云计算 2023年4月27日
    00
  • web开发教程之跨域的解决方案详解

    以下是关于“web开发教程之跨域的解决方案详解”的完整攻略: 问题描述 在Web开发中,可能会遇到跨域问题。本文介绍如何解决这个问题。 解决步骤 以下是解决“跨域问题”的步骤: 步骤一:了解跨域 首先,需要了解什么是跨域问题。跨域是指在浏览器中,一个页面的脚本试图访问另一个页面的资源时,由于安全限制而被阻止的问题。 步骤二:设置CORS 可以通过设置CORS…

    http 2023年5月13日
    00
  • @RunWith(SpringJUnit4ClassRunner.class)报错问题及解决

    问题描述: 在使用Spring进行单元测试时,通常会在测试类上加上注解“@RunWith(SpringJUnit4ClassRunner.class)”,然而有时候会出现该注解报错的问题。 解决方法: 1.检查依赖是否完整 在使用Spring进行单元测试时,需要引入Spring Test模块,如果该模块没有引入或版本不匹配,就会导致“@RunWith(Spr…

    http 2023年5月13日
    00
  • Java一些常见的出错异常处理方法总结

    Java一些常见的出错异常处理方法总结 在Java编程中,出现异常是很常见的情况。为了保证程序的稳定性和可靠性,我们对异常进行处理。本文将结一些常见的出错异常处理方法,包括try-catch语句、throws关键字和finally语句。 try-catch语句 try-catch语句是Java中最常用的异常处理方法之一。它的基本语法如下: try { // …

    http 2023年5月13日
    00
  • springboot整合freemarker的踩坑及解决

    下面是“springboot整合freemarker的踩坑及解决”的完整攻略。 一、前言 Spring Boot 是一款基于 Spring 框架的快速开发脚手架,可以非常快速地搭建一个 Web 项目架子。而 FreeMarker 是一款强大、灵活、安全的模板引擎,它与 Spring Boot 的整合,能够让 Web 开发更加高效。然而,整合过程中往往会遇到一…

    http 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部