IIS部署前端项目请求返回404

问题描述

使用IIS部署的vue项目能正常访问静态页面,发送请求的时候一直提示404,如下图
在这里插入图片描述

一、安装 URL Rewrite、Application Request Routing
1、 安装URL Rewrite,下载地址
2.、安装 Application Request Routing,下载地址
下载后安装,安装完成抈IIS管理器会多出两个模块
在这里插入图片描述

二、IIS安装
1、打开控制面板 ->程序-> 打开程序和功能 -> 打开启用或关闭windows功能
在这里插入图片描述
三、部署用vue项目的web站点
1、将打包后的vue文件复制到服务器上(创建站点不会的可以自行百度)
2、部署成功后点击Application Request Routing
在这里插入图片描述
3、点击server proxy setting -> 勾选Enable proxy -> 应用在这里插入图片描述在这里插入图片描述
4、点击相应的站点 -> 点击url重写
在这里插入图片描述
5、添加规则
点击添加规则 -> 添加空白的入站规则
在这里插入图片描述
6、添加规则
名称:可以随便填
请求的url:选择与模式匹配
使用:通配符
模式:请求前缀(请求前缀是根据vite.config中配置的请求前缀来填)
后端实际访问地址:http://127.1.2.3:5173/document/00/test.jpg
vite代理后的访问地址:http://127.1.2.3:5173/serverApi/document/00/test.jpg
重写url:请求地址 + {R:2} 如:http://127.1.2.3:5173/{R:2}
在这里插入图片描述
注意:配置完成后会在站点目录下生成一个web.config文件,每次上传新的代码的时候不要把这个文件删除了,不然还得重新配置规则

### 如何在IIS服务器上部署前端项目 #### 打开并配置 IIS 管理器 为了开始部署过程,需通过服务器管理器访问 Internet 信息服务 (IIS) 管理器。这可以通过点击“工具”下的“IIS 管理器”来实现[^1]。 #### 创建新网站或使用默认站点 对于已有默认站点的情况,可以在 IIS 管理器中的左侧窗格找到“网站”,接着右键单击“Default Web Site”。如果要创建新的独立站点,则应选择新建而非修改默认设置。此操作允许管理员根据需求自定义端口和其他参数。 #### 配置 URL 重写规则 针对 Nuxt.js 或其他 SPA(单页面应用程序),URL 重定向至关重要。可以利用正则表达式的灵活性来匹配所有请求路径,并将其转发到指定的服务地址;例如 `^(.*)` 可用于捕获任意 URI 路径片段,并将这些请求指向特定 IP 和端口号上的服务实例[^2]。 #### 编辑 web.config 文件以支持前端路由 为了让浏览器能够正确解析来自客户端应用内部链接而不返回404错误,需要适当调整 web.config 中的 rewrite rules 设置。具体来说,除了确保不存在实际文件对应于给定 URL 的情况下才执行重定向外,还需特别处理 API 请求以免误触该机制。下面是一个典型的例子: ```xml <configuration> <system.webServer> <rewrite> <rules> <!-- 将非API请求全部导向 index.html --> <rule name="index"> <match url="^((?!(api)).)*$" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> </conditions> <action type="Rewrite" url="/index.html" /> </rule> <!-- 特殊情况:如下载功能等 --> <rule name="dl" patternSyntax="Wildcard"> <match url="*dl/*" /> <action type="Rewrite" url="http://example.com/path/{R:2}" /> </rule> </rules> </rewrite> </system.webServer> </configuration> ``` 上述 XML 片段展示了如何为不同类型的请求设定不同的行为模式,从而提高用户体验的同时也保障了系统的正常运作[^3]。 #### 测试部署成果 完成以上步骤之后,记得测试已发布的网页是否能按预期工作。可通过直接访问所设域名或IP地址来进行初步验证,确认各项功能均无异常后再考虑进一步推广上线。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值