0

私はユーザーのために DotNetNuke の大部分を単純化しようとしてきました。管理、開発、および設計に関する知識がゼロであるためです。

そこで、DotNetNuke のサイト エイリアス機能を構成しました。

  • CanonicalNoneに変更
  • サイト エイリアスの自動追加を無効にしました

このようにして、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 日間、私を困惑させました。現時点では原因や犯人はわかりません。それはそれをより困難にします。

4

1 に答える 1

0

さらに診断した結果、DotNetNuke のルート フォルダ内の画像ファイルに直接アクセスできたという事実は、DotNetNuke がページを正しく提供していないことを示していました。[管理者設定]と[詳細設定] タブで、サイト エイリアスをCanonical と Auto Addに戻して問題を修正しました。

ただし、これにより URL アグリゲーションの問題が発生することがあります。問題は修正されましたが、私の実装に基づいて他の問題が発生する可能性があります。ただし、エラー 404 と DotNetNuke が適切なページを提供していないことは解決されたようです。

于 2014-01-03T18:07:13.393 に答える