本人刚接触二级域名的配置,所以很多不明白的地方,希望前辈们能够不吝赐教
我用的是VMoom.Framework.dll,在配置时把test.com设为主页,然后有个cc的文件夹,我把cc.test.com当作是二级域名,当输入cc.test.com时想访问到test.com/cc,但我配置的时候,输入cc.test.com的确达到了访问test.com/cc的效果,但地址栏却变成了cc.test.com/cc,我的配置文件如下:
<!-- 二级域名的简单实现 -->
  <if header="Host" match="([^\.]+?)\.t\.com">
    <!-- 保存用户名 -->
    <set property="username" value="$1" />    <!-- 为以 / 结尾的 url 自动添加默认文档 -->
    <rewrite url="^~/.+/$" to="$0Default.aspx" processing="continue" />    <!-- 重写到真实路径 -->
    <rewrite url="^~/(([^/]+?/)*)([^\.]+?)(\..+?)$" to="~/$1$3.aspx" processing="stop" />
  </if>向各位前辈请教一下,我该如何正确配置呢?谢谢大家了

解决方案 »

  1.   

    我最近也在研究,不知道VMoom.Framework.dll是什么,应该是实现URL rewriter的吧。理论上我觉得URL rewriter应该可以办到。但是俺也不会正则表达式。我能想到的办法就是把目录配成网站,然后主机头改成 xxx.xxx.com,但是对asp.net做的动态网站来讲应该比较困难。因为单个目录基本上不可能独立运行。所以要通过IIS创建目录网站来达到二级域名效果的话,只有两个办法,1,全站生成html。2,要设二级域名的目录必需能脱离主程序独立运行。
      

  2.   

    本人问题已经解决,解决方案如下:
    <!-- 二级域名的简单实现 -->
      <if header="Host" match="([^\.]+?)\.test\.com">
        <!-- 保存用户名-->
        <set property="url_str" value="$1" />
        
        <rewrite url="^~/(.+)$" to="~/${url_str}/$1" processing="stop" />
      </if>但同时又出现了个问题困扰我,那就是IIS下面如何让其不检测目录是否存在,也可以去访问这个路径,因为我在访问http://cc.test.com/pro/这个目录时,我的目录是cc下面有pro的目录,但根目录下面没有pro的目录,所以在访问的时候IIS就检测到要目录下面没有pro的目录,就直接宣判了我的死刑,我想要的是让IIS不检测,这样我就可以通过url重写到cc/pro的目录了,请教下高手,有没知道方法的,我在这里先谢谢了
      

  3.   

    问题已解决,就是在IIS下面建一个pro的虚拟目录,目录指向cc/pro的目录就OK了,这样cc下面的所有目录都可以访问,然后就可以URL重写到指定位置了