zoukankan      html  css  js  c++  java
  • [转]二级或二级以上域名和目录以及后缀同时重写(已做测试)

    二级或二级以上域名 和 目录以及后缀同时重写.

    在这里代码我就不作解释了,下载代码自己研究吧(有注释).
    原代码在文章末尾提供下载.

     
    1.域名解析问题
     请确定你的域名是支持泛解析的。然后你的网站为默认网站,否则将不能实现。

    图1


    2.IIS配置:在IIS\你的站点\属性\主目录\配置\映谢 在通配符应用程序配置处插入一个新的映射。
    把可执行文件设为和上面ASPX页面同样的配置即可(注意不要勾选 “确定文件是否存在”)。


    图2


    图3


    3.查看你的网站主机头,里面的第一个主机头值必须为空,否则会出现错误的请求。后面随你加.
     
     图4
     
     
    4. Web.Config  配置

    1<system.web> 
    2      <httpModules >
    3        <add type="Qiaozw.UrlRewrite.ModuleRewriter,Qiaozw.UrlRewrite" name="ModuleRewriter"/>
    4      </httpModules>
    5 </system.web>


    5.最后配置 /config/URLRewrit.config 文件。
      重写配置--样例:

     1<RewriterConfig>
     2  <RewriterRule>
     3    <LookFor>http://www.域名.com</LookFor>   主域名定位
     4    <SendTo>/default.aspx</SendTo>
     5  </RewriterRule>
     6
     7  <RewriterRule>
     8    <LookFor>域名.com</LookFor>              主域名定位
     9    <SendTo>/default.aspx</SendTo>
    10  </RewriterRule>
    11
    12  <RewriterRule>
    13    <LookFor>http://域名.com</LookFor>       主域名定位
    14    <SendTo>/default.aspx</SendTo>
    15  </RewriterRule>
    16
    17  <RewriterRule> 
    18    <LookFor>http://([\a-zA-Z0-9]{4,10}).域名.com/(\d{1,5})</LookFor>   二级域名与目录同时重写.  注:多级域名重写修改正则表达式
    19    <SendTo>/test/test.aspx?domain=$1&amp;path=$2</SendTo>
    20  </RewriterRule>
    21  
    22  <RewriterRule>
    23    <LookFor>http://([\a-zA-Z0-9]{4,10}).域名.com/(\d{1,5})/(\d{1,5}).html</LookFor>  二级域名与目录以及后缀同时重写.  注:多级域名重写修改正则表达式
    24    <SendTo>/test/test.aspx?domain=$1&amp;path=$2&amp;path1=$3</SendTo>
    25  </RewriterRule>
    26
    27  <RewriterRule>
    28    <LookFor>/([0-9]{1,5})</LookFor>            目录重写
    29    <SendTo>/test/test.aspx?path=$1</SendTo>   
    30  </RewriterRule>
    31
    32  <RewriterRule>
    33    <LookFor>/([a-z]{1,5})</LookFor>            目录重写
    34    <SendTo>/test1/test1.aspx?path=$1</SendTo>
    35  </RewriterRule>
    36  
    37    <RewriterRule>
    38    <LookFor>/([a-z]{1,5})/([0-9]{1,5}).html</LookFor>            目录和及后缀同时重写
    39    <SendTo>/test1/test1.aspx?path=$1&amp;path=$2</SendTo>
    40  </RewriterRule>
    41</RewriterConfig>
    42


    如要修改配置文件路径,请在 RewriterConfig.cs >>RewriterConfiguration.GetConfig() 里修改
     

      
     
     
    另外在这里请教下个位谁知道这是什么原因, 有哪位高手知道?

     1   try
     2            {
     3                //此处二级域名重写错误 出现未将对象引用设置到对象的实例的异常  
     4                //注:一下参数正常
     5                context.RewritePath(sendToUrlLessQString, string.Empty, queryString);   
     6            }

     7            catch (Exception e)
     8            {
     9                context.RewritePath(sendToUrl);  //异常后再次重写便重写成功.  (原因不明)
    10            }

    11            

             

    代码下载: 二级重写UrlRewrite.rar


    不算完全原创也算我的劳动成果吧.

    转载请注明出处:http://www.cnblogs.com/cn795/archive/2009/09/03/1559902.html

    作者:黑白之间
    主页: http://cn795.cnblogs.com/

  • 相关阅读:
    log4j动态添加appender
    【翻译】java里编写基准测试的一些经验
    java线程池:获取运行线程数并控制线程启动速度
    maven里的mirror和repository: 配置多repository
    使用maven shade plugin 打可执行Jar包
    activemq plugin开发指南及示例
    通过加入classpath的形式实现命令行运行java程序时引入第三方jar包
    java异常、异常处理机制
    内部类
    接口
  • 原文地址:https://www.cnblogs.com/scgw/p/1945065.html
Copyright © 2011-2022 走看看