Vue H5 History 部署IIS上404问题

原文地址:https://blog.csdn.net/yinjing8435/article/details/71274416

https://blog.csdn.net/suxuelian/article/details/80103514

背景简介

vue使用vue-router时,默认的地址并不美观,以#进行分割,例如:http://www.xxx.com/#/main
为了访问地址能像正常的url一样,例如:http://www.xxx.com/user/id
按照官网介绍,使用 history 模式。但是却产生了问题。

问题

因为我们的应用是单页客户端应用,当用户在浏览器直接访问http://www.xxx.com/user/id时,刷新页面的时候,会返回404错误。

问题原因

服务端URL匹配不到相应的路由资源

解决方案

官网提供的解决方案只支持Apache服务器以及Nginx服务器配置,然而IIS的解决方案并没有给出

  • 方案一

    可通过给IIS站点设置虚拟目录的方式可解决该问题,但是这方式路由比较多的时候比较麻烦。

  • 方案二

    1、下载Web平台安装程序(https://www.microsoft.com/web/downloads/platform.aspx) 或单独下载URL重写工具 https://www.iis.net/downloads/microsoft/url-rewrite
    2、如果已经安装过Web平台安装程序,可以在IIS站点看到该程序

    3、查找Url重写工具2.0并进行安装

    4、安装完毕后,重新打开IIS控制台,进入相应站点,就可以看到URL重写该功能模块

    5、添加规则,并选择入站规则-空白规则

总结

Url重写设置
匹配的URL:请求的URL选择与模式匹配,模式中填写*,使用选项选择通配符;即表示所有的网站都通过此模式进行检查匹配。
条件:是下面的条件选项,我们选择不是文件,逻辑分组为全部匹配。
操作:重写到index.html(根据情况,设置为自己的单页面应用首页)。

以上操作是设置我们的页面请求为先检查有没有该文件,没有该文件全部重写到首页,从而能够使用自定义路由。然后在vue程序中设置/index.html路径为起始页,并且定义404页面。

原文地址:https://www.cnblogs.com/xbzhu/p/12113186.html

时间: 2024-11-05 23:24:19

Vue H5 History 部署IIS上404问题的相关文章

vue部署后刷新404问题

为什么会404NotFound Internet Information Services (IIS) 第一步:安装 IIS UrlRewrite 第二步:配置重写URL规则 在你的网站根目录中创建一个 web.config 文件,内容如下: <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <r

本地自定义了404 和500 错误处理 部署到IIS上显示 服务器内部错误

问题如图 解决办法如下,在IIS上设置一下即可

在IIS上部署你的ASP.NET Core项目

概述 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等).而配置文件和过程都会由些许调整,中间最重要的角色便是AspNetCoreModule,

利用Powershell在IIS上自动化部署网站

本文主要讲如何通过Powershell在IIS上自动化部署ASP.NET网站,而不涉及Powershell的基本语法,如果没有Powershell基础的同学也可以把本文作为学习Powershell的基石,通过学习本文中的脚本再去查阅具体的语法,可能会达到事半功倍的效果. 一般我们建立网站大致需要以下几个步骤: 1.安装.NET Framework 2.安装了IIS 3.注册.启用ISAPI和CGI限制 4.建立网站 5.设置默认首页.身份验证.设置MIME类型 6.绑定域名或IP地址 7.设置权

WCF Service部署在IIS上

环境vs2010,WCF应用程序.如何将WCF部署在IIS上. 第一步:右键点击项目,选择生成部署包. 第二步:在你项目所在的文件目录下找到Package文件夹,这就是我们的部署包所在的地方.在这个package文件夹下面有一个packageTmp. 第三步:在IIS上新建虚拟目录,将物理地址指向此文件夹. 第四部:部署结束.可以在浏览器中查看我们部署的WCF了.

用户 &#39;IIS APPPOOL\**&#39; 登录失败的解决方案(项目部署到本地IIS上打开网页出现报错)

为开发方便-将项目部署到本地IIS上打开网页出现报错 1.打开IIS管理 2.点击应用池 3.找到你部署的网站名,右键“高级设置”——>“进程模型”——>“标识”修改为localsystem,点击“确定”. 步骤见下截图: 用户 'IIS APPPOOL\**' 登录失败的解决方案(项目部署到本地IIS上打开网页出现报错)

WCF 部署在IIS上

环境vs2010,WCF应用程序,server 2008 第一步:WCF项目右键点击项目,选择生成部署包,如下图: 第二步:WCF项目上右键,选择:在windows资源管理器中打开文件夹,如下图: 第三步:第二步:在你项目所在的文件目录下找到Package文件夹,这就是我们的部署包所在的地方.在这个package文件夹下面有一个packageTmp. 第四步:在IIS上新建虚拟目录,将物理地址指向此文件夹. 1.windows server 2008中没有自带Microsoft .NET Fra

IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法

IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法 IIS上部署MVC网站,打开后500错误:处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler” 解决方法如下: 以管理员运行下面的命令注册: 32位机器: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regii

IIS上部署MVC网站,打开后ExtensionlessUrlHandler-4.0

IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法IIS上部署MVC网站,打开后500错误 IS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法 IIS上部署MVC网站,打开后500错误:处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler” 解决方法如下: 以管理