DotNetNuke配置错误

域名 "[DOMAINNAME]" 在数据库中不存在

DotNetNuke可以用一个数据库/应用程序支持多个站点,完成这一功能需要把客户端浏览器的请求URL地址转换为数据库中一个有效的站点,以下是主要步骤:

1. Web服务器处理
  • 当WEB服务器接到一个客房端浏览器的请求后,由IIS对它的应用程序扩展映射定义和目标URL资源的文件扩展名比较。
  • 如果匹配, IIS 然后发送请求庢定义的执行路径 ( aspnet_asapi.dll in the case of ASP.NET Requests ).
  • The aspnet_isapi.dll引擎开始处理队列中对列中对应用程序的请求。


  • 2. Application_BeginRequest ( globals.asax.vb )
  • 分析请求URL中"/"字符
  • 使用每个URL的分割段来构建一个域名。

    比如:

    URL: http://www.domain.com/default.aspx = 域名: www.domain.com
    URL: http://209.75.24.131/default.aspx = 域名: 209.75.24.131
    URL: http://localhost/DotNetNuke/default.aspx = 域名: localhost/DotNetNuke
    URL: http://www.domain.com/virtualdirectory/default.aspx = 域名: www.domain.com/virtualdirectory
    URL: http://www.domain.com/directory/default.aspx = 域名: www.domain.com/directory

  • 使用这个域名,应用程序查询数据库( Portals表 - 站点别名属性) 定位一个匹配的记录

    注意: 如果有多个URL定位到同一个站点,站点别名属性必须包含每一个有效的域名并用逗号分割。

    比如:

    URL: http://localhost/DotNetNuke/default.aspx
    URL: http://MACHINENAME/DotNetNuke/default.aspx
    URL: http://209.32.134.65/DotNetNuke/default.aspx
    站点别名: localhost/DotNetNuke,MACHINENAME/DotNetNuke,209.32.134.65/DotNetNuke

    注意: 如果你安装的站点在一个远程服务器中,你必须使用以上规则修改Portals表 中的站点别名(PortalAlias)属性的默认记录值。