none
vs2005的web网站的首页不在根目录,如何设置首页 RRS feed

  • 问题

  • 比如在网站根目录下的home文件夹中有home.aspx,这个是首页。
    那么如何将其设置为网站的首页。
    访问时直接输入:http://localhost:8800/myProject
    就可以打开home.aspx。
    因为是在vs2005中做的,所以不想在IIS那里设置,可不可以在web.config或者其他地方设置呢?
    java中在web.xml里面通过设置<welcome-file>可以达到这个效果。
    不知道.net中怎么实现。
    现在这个home.aspx的名称和所在的路径都不能动。
    好像Microsoft expression Web 2里面可以设置网站首页,但是我找了半天也没找到。
    如果在跟目录下放一个Default.aspx ,然后在Page_Load事件中跳转到 home.aspx ,这样又显得多余,不规范,加重服务器的负担。
    2009年5月11日 7:46

答案

全部回复

  • 如果不改iis,只能是跳转了。或者在Global.ascx重写地址,还不如直接Redirect简单
    【孟子E章】
    2009年5月11日 9:06
    版主
  • 1 response.redirect 跳转
    2 sever.execute 在当前叶面直接执行首页
    3 server.transfer 执行首页 并且加上首页的头
    4 frame/iframe  100% 整叶 

    工作突然有点忙 嘿嘿
    2009年5月11日 9:49
  • 你好,变相实现,不一定适合你,只是提供一种思路,

    <authentication mode="Forms">
      <forms name=".ASPXAUTH" protection="All" timeout="60" loginUrl="Login.aspx"/>
    </authentication>
    <authorization>
      <deny users="?"/>
    </authorization>

    谢谢!
    邹俊才
    2009年5月11日 15:05
    版主
  • 谢谢大家。
    跳转的话,如果用重定向,实际的网页地址还会显示出来,没有达到根目录浏览网页的效果。
    如果用server.XXX,URL确实不会变,达到了一种欺骗,可是这样的话,打开的页面有些js函数会无法正确执行,因为采用server定向好像只是页面局部定向到首页。
    如果用<authentication mode="Forms">
    <forms name=".ASPXAUTH" protection="All" timeout="60" loginUrl="home.aspx"/>
      <deny users="*"/>,这样的话只要是没有登录统统转到首页(home.aspx),这样是实现了,可是逻辑有问题,因为网站首页可以匿名访问的。
    难道必须把首页放在根目录??
    不行的话就只能重构整个网站了。
    2009年5月11日 18:07
  • UrlRewrite可以看不到地址
    【孟子E章】
    2009年5月12日 0:12
    版主