【问题标题】:Site Won't Display网站不会显示
【发布时间】:2014-01-03 16:45:42
【问题描述】:

我一直在努力为我们的用户简化大量的 DotNetNuke;因为他们对管理、开发和设计的知识为零。

所以我配置了 DotNetNuke 的 Site Alias 功能。

  • Canonical 更改为 None
  • 禁用自动添加站点别名

这样,当 DotNetNuke 有一个新创建的实例时,它将为这个新实例聚合正确的 URL。

我有一个模板,它是我们使用 DotNetNuke 设计和配置的主要网站。这个模板现在是提供给我们用户的模型。所以我配置了一个自动化框架来:

  • 创建一个新目录,将模板内容复制到其中。
  • 在 IIS 中创建新站点(绑定)和应用程序池
  • 创建新数据库(将模板数据库复制到新数据库中)
  • 修改 Web.Config 以指向这个新结构。

这一切直到最近才正常工作,现在无法正常工作。每次手动或自动复制网站时,我都会收到 错误 404。我尝试了以下方法:

  • 在根目录下随机放置一张图片,然后尝试引用 URL。 (有效)
  • 尝试创建一个全新的 DotNetNuke 实例,手动复制并出现错误。
  • 尝试重新配置站点别名(已清除缓存和应用程序池)仍然出错。
  • 尝试将新的升级文件放入实例,仍然失败。

我不确定错误出在哪里,但我需要解决它。我认为可能是绑定;但我已经改变了它们,但仍然没有运气。我觉得它可能是 DotNetNuke,但我不完全确定。我用来创建绑定的代码:

using (ServerManager manager = new ServerManager())
{
     Site configureSite = manager.Sites.Add(webAddress, Path.Combine(root, webAddress), 80);

     manager.ApplicationDefaults.ApplicationPoolName = webAddress + @"Pool";
     configureSite.TraceFailedRequestsLogging.Enabled = true;
     configureSite.TraceFailedRequestsLogging.Directory = log;
     configureSite.Bindings.Clear();
     configureSite.Bindings.Add(@"*:80:" + webAddress + @"." + domain, @"http");
     configureSite.Bindings.Add(@"*:80:" + @"www." + webAddress + @"." + domain, @"http");
     configureSite.ServerAutoStart = true;

     manager.CommitChanges();
}

这让我在过去的四天里一直很困惑,非常欢迎一些帮助。目前我不确定原因或罪魁祸首;这使它变得更加困难。

【问题讨论】:

    标签: dotnetnuke dotnetnuke-7 dotnetnuke-settings


    【解决方案1】:

    经过进一步诊断,我可以直接访问 DotNetNuke 的 根文件夹 中的图像文件这一事实表明 DotNetNuke 没有正确地提供页面。在管理设置下并通过高级选项卡,我将站点别名修改回Canonical and Auto Add,从而解决了问题。

    虽然这有时会导致 URL 聚合问题;它已经解决了这个问题,但可能会根据我的实现引入其他问题。但是,它似乎解决了 错误 404 和 DotNetNuke 没有提供正确的页面。

    【讨论】:

      猜你喜欢
      • 2022-07-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多