我一直在尝试为我们的用户简化大量的 DotNetNuke;因为他们对管理、开发和设计的知识为零。
所以我配置了 DotNetNuke 的站点别名功能。
- 将规范更改为无
- 禁用自动添加站点别名
这样,当 DotNetNuke 有一个新创建的实例时,它将为这个新实例聚合正确的 URL。
我有一个模板,它是我们的主要网站,使用 DotNetNuke 设计和配置我们希望的方式。这个模板现在是提供给我们用户的模型。所以我配置了一个自动化框架来:
- 创建一个新目录,将模板内容复制到其中。
- 在 IIS 中创建新站点(绑定)和应用程序池
- 创建新数据库(将模板数据库复制到新数据库中)
- 修改 Web.Config 以指向这个新结构。
直到最近这一切都在工作,现在它无法正常工作。每次手动或自动复制站点时,我都会收到Error 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();
}
在过去的四天里,这让我很困惑,我们非常欢迎一些帮助。目前我不确定原因或罪魁祸首;这使它变得更加困难。