none
关于IIS的配置,很怪异,希望大家帮帮忙 RRS feed

  • 问题

  • 我先说下我的项目,这个项目是mvc搞的,然后在IIS中做了网站绑定,如:http://maintain.chinastic.cn,而且在mvc中的routing也有相关的代码,
    代码如下:
     routes.MapDomain(
                        "Maintain",
                        "http://maintain.chinastic.cn",
                        innerRoutes => {
                            innerRoutes.MapRoute(
                                "AmusementMaintain",
                                "Amusement/{action}/{id}/{language}",
                                new { controller = "AmusementMaintain", action = "Index", id = "", language = "" },
                                new { id = @"^\d*", language = @"^([a-z]{2}-[a-z]{2}){0,1}$" }
                            );
    
                            innerRoutes.MapRoute(
                                "RestaurantMaintain",
                                "Restaurant/{action}/{id}/{language}",
                                new { controller = "RestaurantMaintain", action = "Index", id = "", language = "" },
                                new { id = @"^\d*", language = @"^([a-z]{2}-[a-z]{2}){0,1}$" }
                            );
    
                            innerRoutes.MapRoute(
                                "AttractionMaintain",
                                "Attraction/{action}/{id}/{language}",
                                new { controller = "AttractionMaintain", action = "Index", id = "", language = "" },
                                new { id = @"^\d*", language = @"^([a-z]{2}-[a-z]{2}){0,1}$" }
                            );
    
                            innerRoutes.MapRoute(
                                "LocationMaintain",
                                "Location/{action}/{id}/{language}",
                                new { controller = "LocationMaintain", action = "Index", id = "", language = "" },
                                new { id = @"^\d*", language = @"^([a-z]{2}-[a-z]{2}){0,1}$" }
                            );
    
                            innerRoutes.MapRoute(
                                "MemberMaintain",
                                "Member/{action}/{id}",
                                new { controller = "MemberMaintain", action = "Index", id = "" }
                            );
    
                            innerRoutes.MapRoute(
                                "Account",
                                "Account/{action}/{id}",
                                new { controller = "Account", action = "Index", id= ""}
                            );
    
                            innerRoutes.MapRoute(
                                "Maintain",
                                "{action}",
                                new { controller = "Maintain", action = "Index" }
                            );
    另外我在hosts文件中添加了 127.0.0.1 http://maintain.chinastic.cn 这句话,就是让他指向本地,但是当我输入这个网址的时候,显示的网站的目录(不知道大家这个明白么??也不能截图),怎么没有转到需要的页面呢??谢谢!!
    怎么老有不会的??
    2009年11月4日 9:22

答案

  • 在一台机子上部署多个网站可以在iis上通过设置不同的端口来实现。
    比如说本地机子:
    127.0.1:80(默认)  A站点

    127.0.0.1:8081    B站点
    但是如果希望能通过名字,也就是所谓的host header来访问。
    除了上述配置外,还得配置DNS服务器,用来对站点名字解析以便找到它的ip。
    我上面的几个链接就是介绍这些的,你可以根据上面的提示自己配置试试。


    Microsoft Online Community Support
    2009年11月5日 4:48

全部回复

  • 现在我详细的说明一下我的这个项目,这个项目是用mvc来搞的,在IIS里面我建立一个指向本地的IIS路径,就是在hosts文件中加入了比如:
    127.0.0.1  http://maintain.chinastic.cn ,IIS中的网站绑定上加入http://maintain.chinastic.cn这个地址,现在是当我输入这个网址的时候,他并没有按照mvc routing的
    路径来走,下面是routing的代码:
       routes.MapDomain(
                        "Maintain",
                        "http://maintain.chinastic.cn",
                        innerRoutes => {
                            innerRoutes.MapRoute(
                                "AmusementMaintain",
                                "Amusement/{action}/{id}/{language}",
                                new { controller = "AmusementMaintain", action = "Index", id = "", language = "" },
                                new { id = @"^\d*", language = @"^([a-z]{2}-[a-z]{2}){0,1}$" }
                            );
    
                            innerRoutes.MapRoute(
                                "RestaurantMaintain",
                                "Restaurant/{action}/{id}/{language}",
                                new { controller = "RestaurantMaintain", action = "Index", id = "", language = "" },
                                new { id = @"^\d*", language = @"^([a-z]{2}-[a-z]{2}){0,1}$" }
                            );
    
                            innerRoutes.MapRoute(
                                "AttractionMaintain",
                                "Attraction/{action}/{id}/{language}",
                                new { controller = "AttractionMaintain", action = "Index", id = "", language = "" },
                                new { id = @"^\d*", language = @"^([a-z]{2}-[a-z]{2}){0,1}$" }
                            );
    
                            innerRoutes.MapRoute(
                                "LocationMaintain",
                                "Location/{action}/{id}/{language}",
                                new { controller = "LocationMaintain", action = "Index", id = "", language = "" },
                                new { id = @"^\d*", language = @"^([a-z]{2}-[a-z]{2}){0,1}$" }
                            );
    
                            innerRoutes.MapRoute(
                                "MemberMaintain",
                                "Member/{action}/{id}",
                                new { controller = "MemberMaintain", action = "Index", id = "" }
                            );
    
                            innerRoutes.MapRoute(
                                "Account",
                                "Account/{action}/{id}",
                                new { controller = "Account", action = "Index", id= ""}
                            );
    
                            innerRoutes.MapRoute(
                                "Maintain",
                                "{action}",
                                new { controller = "Maintain", action = "Index" }
                            );
                           
                        });
    而是进入了网站根目录(不知道这个根目录大家能不能明白),然后我点击根目录下的任何一个的时候,就会报错了,我想知道的是为什么会进入那个网站根目录你!!


    谢谢大家!!
    2009年11月4日 9:14
  • 可能没绑定iis指定默认文件名 
    2009年11月4日 13:58
  • Internet 信息服务->网站->属性->文档选项卡->启用默认文档 勾选上 把default.aspx
    在default.aspx中重定向到要跳转的页面 

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~
    2009年11月5日 1:30
    版主
  • Internet 信息服务->网站->属性->文档选项卡->启用默认文档 勾选上 把default.aspx
    在default.aspx中重定向到要跳转的页面 

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~

    您好,我又发现个问题,关于上面的那个为啥出现目录的情况是不是因为我把那个目录浏览选项给启动了呀,现在我停止后没有出现那个目录,但是
    出现“HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容”这个错误,不知道为什么,希望帮我再看下!谢谢哈!!
    怎么老有不会的??
    2009年11月5日 1:50
  • 楼主你好,

    你是不是想在本地IIS中配置Host Header?,然后可以通过名字访问?

    如果是,那不仅仅要添加host header,还得配置dns。
    iis配置可以参考下面这篇文章。http://support.microsoft.com/kb/308163
    至于配置DNS,可以参考http://www.cnblogs.com/liuweijian/archive/2005/09/12/235508.html

    Microsoft Online Community Support
    2009年11月5日 2:44
  • 楼主你好,

    你是不是想在本地IIS中配置Host Header?,然后可以通过名字访问?

    如果是,那不仅仅要添加host header,还得配置dns。
    iis配置可以参考下面这篇文章。http://support.microsoft.com/kb/308163
    至于配置DNS,可以参考http://www.cnblogs.com/liuweijian/archive/2005/09/12/235508.html

    Microsoft Online Community Support

    不好意思,您说的这个我有点不懂,我就是想在网站上绑定几个网址,然后在hosts文件中添加‘127.0.0.1  这里是那几个网址’,就是让它指向本地,
    这一步没有问题,因为确实是没有上Internet,并且指向了本地,但是当我点击其中的一个网址的时候,出现了“HTTP 错误 403.14 - Forbidden Web
    服务器被配置为不列出此目录的内容”的错误,现在是这个错误让我很苦恼,谢谢再指教一下,我是不懂这个IIS的配置!!
    怎么老有不会的??
    2009年11月5日 3:27
  • 在一台机子上部署多个网站可以在iis上通过设置不同的端口来实现。
    比如说本地机子:
    127.0.1:80(默认)  A站点

    127.0.0.1:8081    B站点
    但是如果希望能通过名字,也就是所谓的host header来访问。
    除了上述配置外,还得配置DNS服务器,用来对站点名字解析以便找到它的ip。
    我上面的几个链接就是介绍这些的,你可以根据上面的提示自己配置试试。


    Microsoft Online Community Support
    2009年11月5日 4:48
  • 部署上去的项目 属性 右键 -->属性中设置下他的 “启用父路径”、“添加项目的首页移动到最上边”、“把编辑旁边的文本框选择纯文本”即可
    一切问题均在属性中解决,

    2009年11月5日 4:55
  • 多个项目同时部署,给不同的端口中就可以,也在属性里面设置。LZ加油了,。
    2009年11月5日 4:56
  • 部署上去的项目 属性 右键 -->属性中设置下他的 “启用父路径”、“添加项目的首页移动到最上边”、“把编辑旁边的文本框选择纯文本”即可
    一切问题均在属性中解决,


    谢谢,我的IIS是windows7 下面的,找不到你所说的这些呀!!或者说你说的再详细点,因为这块我实在是不熟悉,现在我的错误是“HTTP 错误 403.14 - Forbidden Web
    服务器被配置为不列出此目录的内容”!!
    谢谢!!
    怎么老有不会的??
    2009年11月5日 5:23