启用IIS路由和ULR重写功能

 

 详细过程:“IIS: URL rewrite转发请求 - le.li - 博客园 (cnblogs.com)

配置URL重写后,与网站同级别路径有个web.config

 

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="ReUrl" enabled="true" stopProcessing="true">
                    <match url="^(.*)" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="^www.test.com$" />
                        <add input="{REQUEST_URI}" pattern="/api/(.*)" />
                    </conditions>
                    <action type="Rewrite" url="http://localhost:8000/{C:1}" />
                </rule>
                <rule name="refresh" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
                    <match url="*" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="/" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

 重要内容说明:

1、www.test.com,自己配置的域名或者IP地址

2、http://localhost:8000/{C:1},其中C:1表示condtion中第一个()里的内容

3、<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> ,只重写不是文件的路径

规则ReUrl用于请求后端服务时,路径重写。
规则refresh用于解决F5(页面刷新)时,页面跳转不对问题。
posted on 2024-09-09 22:55  le.li  阅读(368)  评论(0)    收藏  举报