【发布时间】: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