IIS7下伪静态(URL重写)的实现方法

1、官网下载http://www.iis.net/downloads/microsoft/url-rewrite这个文件:URL Rewrite Module 2.0,安装到系统后,你能看到IIS管理器里多了个“URL重写”的图标。

2、在web.config里的<configuration />添加规则,例如:
    <system.webServer>
      <rewrite>
        <rules>
          <rule name="r00">
            <match url="^home.html$" />
            <action type="Rewrite" url="index.aspx" />
          </rule>
          <rule name="r01">
            <match url="^([\w]+).html$" />
            <action type="Rewrite" url="page/bot.aspx?bot_type={R:1}" />
          </rule>
          <rule name="r02">
            <match url="^([\w]+)-([\w]+).html$" />
            <action type="Rewrite" url="page/bot.aspx?bot_type={R:1}&amp;bot_name={R:2}" />
          </rule>
          <rule name="r03">
            <match url="^features/([\w]+)-([\w]+).html$" />
            <action type="Rewrite" url="page/features.aspx?bot_type={R:1}&amp;bot_name={R:2}" />
          </rule>
          <rule name="r00de">
            <match url="^([\w]+)/home.html$" />
            <action type="Rewrite" url="{R:1}/page/index.aspx" />
          </rule>
        </rules>
      </rewrite>
    </system.webServer>

3、把网站里所有的链接改为match url里的链接。

4、ASP.NET页的URL带的参数都可以正常使用,但是,JS或JQ里就获取不到URL的参数了。解决方法是把URL里的字符直接截取:
例如原来在JQ中是用var u1 = $.query.get("bot_name");来获取参数的,伪静态后就要用
var url = location.href;  //获取完整的URL
var u1 = url.substring(url.lastIndexOf("-") + 1, url.lastIndexOf("."));  //截取URL中最后一个“-”之后到最后一个“.”之间的字符
......
或者用于
var url = location.href;
if (url.indexOf("Famibot") > 0) {  //如果URL中包含字符“Famibot”
     ......
        };
if (url.indexOf("Winbot") = -1) { //如果URL中没有字符“Winbot”
     ......
        };
注意:如果域名里有中文,请用var url = decodeURI(location.href);来获取,否则是乱码!!!

5、另外介绍下URL里常用正则表达式:
(.*)所有字符和符号,包括中文字和没有字
([/d]+)所有数字
([/w]+)所有字母和数字
([/w]*)所有字母和数字和没有字

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值