Я пытался упростить большую часть DotNetNuke для наших пользователей; поскольку у них нет знаний об администрировании, разработке и дизайне.
Поэтому я настроил функцию Псевдоним сайта в DotNetNuke.
- Изменено Canonical на Нет
- Отключено Автоматическое добавление псевдонима сайта
Таким образом, когда у 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();
}
Это поставило меня в тупик в течение последних четырех дней, некоторая помощь будет очень кстати. На данный момент я не уверен в причине или виновнике; что усложняет задачу.