单页面网站要部署在IIS,若要实现路由跳转则需要首先安装URL Rewrite(可以自行百度搜索安装,IIS默认是没有安装的),安装完毕以后在IIS中就可以看到了
image.png
当页面网站目录结构:
image.png
1、如果网站部署在根目录,比如www.test.com,则在网站根目录增加web.config文件,并填写对应配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<!-- Url重定向配置 -->
<rewrite>
<rules>
<!-- 规则名称,如果有多个规则,确保规则名称不要重复不然会后问题 -->
<rule name="myR1" stopProcessing="true">
<!-- 正则表达式:此处表示所有的URL都跳转,可根据需要自行修改 -->
<match url="^.*$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<!-- 跳转路径 -->
<action type="Rewrite" url="/index.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
2、如果网站在二级目录下,比如在www.test.com/xxx/目录下,则正则表达式可以改成^.*xxx.*$
,此处xxx是你的二级目录名称,跳转路径改成/xxx/index.html
,这段代码意思就是只要URL中包含xxx则跳转到xxx目录下的index.html 页面
划重点
3、还有一种比较特殊的存在,如果网站是部署在应用程序下,则这个web.config写法和2一样,。
网友评论