私はユーザーのために DotNetNuke の大部分を単純化しようとしてきました。管理、開発、および設計に関する知識がゼロであるためです。
そこで、DotNetNuke のサイト エイリアス機能を構成しました。
- CanonicalをNoneに変更
- サイト エイリアスの自動追加を無効にしました
このようにして、DotNetNuke に新しく作成されたインスタンスがある場合、この新しいインスタンスの適切な URL が集約されます。
DotNetNuke を使用して、希望どおりに設計および構成された、主要な Web サイトであるテンプレートを入手しました。このテンプレートは、ユーザーに提供されるモックアップになりました。そこで、自動化されたフレームワークを次のように構成しました。
- テンプレートの内容をコピーする新しいディレクトリを作成します。
- 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();
}
これは過去 4 日間、私を困惑させました。現時点では原因や犯人はわかりません。それはそれをより困難にします。