解决在windows系统的iis上部署使用History路由的项目刷新404问题

536 阅读1分钟

我们写的项目可以部署到window自带的iis服务器上

众所周知使用History模式的项目如果不进新配置的话,非根路径的话会404,就很难受

在vue-router的官网里面有部分服务器的配置示例 vueRouter

iis服务器配置,在你部署的网站的根路经下创建web.config文件写入如下内容:


<?xml version="1.0" encoding="UTF-8"?> 
    <configuration> 
        <system.webServer> 
            <rewrite> 
                <rules> 
                    <rule name="Handle History Mode and custom 404/500" 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="/" /> 
                    </rule>
                </rules> 
            </rewrite> 
        </system.webServer> 
</configuration>

但是我在部署的时候写入了该配置发现iis无法识别该配置文件并报错,错误代码 0x8007000d ,于是进查找,在微软的官网找到因为无法失败而配置代码造成错误,需要安装相应模块 网址

于是我下载了该模块(重定向模块)地址滑至最底下选择相应版本安装

image.png

下载好后安装,重启iis服务即可,或者重启电脑即可。打开iis管理器即可看到URL重写这个功能,打开网站,任意跳转,网页正常访问