IIS部署单页面网站URL Rewrite

2019-09-29  本文已影响0人  我是Mr小赵先生

单页面网站要部署在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一样,\color{red}{但是需要放在网站的根目录下,而不是应用程序所在的目录下}

可以参考https://blog.csdn.net/txyzqc/article/details/78120797

上一篇下一篇

猜你喜欢

热点阅读