逐浪云主机

立即开通

IIS设置URL重写,实现页面的跳转的重定向方法

作者:三江堂主 发布时间:2020-04-14 来源:本站原创 点击数:

默认IIS是不提供URL重写模块的。
请注意,不要将IIS默认的HTTP重定向理解为url重写。

安装url重写模块

url重写,是要从iis的应用市场下载url重写组件才可以的。

URL重写工具的下载地址: 64位版本 32位版本

设置规则

比如我样实现访问www.demo.com/1.aspx
自动跳到新地址www.demo.com/1

规则设置如下:

在配置了url重写组件的IIS中,可以直接操作web.config

如下图:

代码:

    <system.webServer>
        <rewrite>
            <rules>
                <rule name="test" stopProcessing="true">
                    <match url="shop/(.*).aspx" />
                    <action type="Redirect" url="/shop/{R:1}" />
                    <conditions>
                    </conditions>
                </rule>
            </rules>
        </rewrite>
    </system.webServer>

动态跳转实例

那如果要加动态页面怎么办???莫慌,莫慌,看下图:
原链接:http://en.amusechina.cn/en/ProductDetail-2.0.aspx?proId=1159&cateId=99
现链接:http://en.amusechina.cn/product1159/99.html

三个实例

1、http重定向至https

填写内容 ->

名称:随意

模式:(.*) ;代表全部,任意,无论是否字符都匹配

条件:{HTTPS};https,模式^OFF$,代表https关闭,也就是没有;;;{HTTP_HOST}:填写要匹配的域名,不能其他的域名访问到也重定向至这个https,逻辑分组全部匹配,任意匹配是满足一个条件即可进行下面处理

操作类型:重定向

重定向URL:https://www.example.com/{R:1}

结果相当于 访问 http://www.example.com/……. 重定向至 https://www.example.com/…….

代码:

<!-- 注意www.51fsw.com要改为你的实际域名-->
    <system.webServer>
        <rewrite>
            <rewriteMaps>
                <rewriteMap name="fwf" />
                <rewriteMap name="https">
                    <add key="(.*)" value="" />
                </rewriteMap>
            </rewriteMaps>
            <rules>
                <rule name="https" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="^OFF$" />
                        <add input="{HTTP_HOST}" pattern="^www\.51fsw\.com$" />
                    </conditions>
                    <action type="Redirect" url="https://www.51fsw.com/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>

2、重写服务,一般使用为nodejs服务需要实现路径转为根节点访问,这里不写条件,一般条件使用为上面的两种,这里为了截图方便,不予展示

模式:^blog/(.*)

类型:重写

目标URL:http://127.0.0.1:3001/{R:1}

结果:访问:http://www.example.com/blog/index.html —> http://127.0.0.1:3001/inde.html

当然这个127.0.0.1指的是服务器的本地,而不是访问者电脑本地,这样使用,可以防止开发太多端口,引起安全问题

3、重写服务-文件

模式:(.*)phpf$:代表访问的文件以phpf结尾

类型:重写

目标URL:http://www.example.com/{R:1}.php

结果:访问:http://www.example.com/dir/loginphpf —> http://www.example.com/dir/login.php

这样当后端有其他语言或者不想在前端显示文件后缀时,可以使用这种方式来进行隐藏,phpf可以自己随意更改

参考文档

本文责任编辑: 加入会员收藏夹 点此参与评论>>
复制本网址-发给QQ/微信上的朋友