Dispatcher のバージョンは AEM とは無関係ですが、Dispatcher のドキュメントは AEM のドキュメントに組み込まれています。最新バージョンの AEM のドキュメントに組み込まれている Dispatcher のドキュメントを必ず使用してください。
以前のバージョンの AEM のドキュメントに組み込まれている Dispatcher のドキュメントへのリンクをたどると、このページにリダイレクトされる可能性があります。
詳しくは、Dispatcherナレッジベース、Dispatcherのフラッシュ問題のトラブルシューティングおよびDispatcherに関する主な問題に関するFAQも参照してください。
最初の手順は常に、基本事項を確認することです。
Web サーバーおよび Dispatcher のログファイルを確認します。必要に応じて、Dispatcher のログに使用する loglevel
を増やします。
複数の Dispatcher があるか。
フィルターが実装されているか。
IIS には、実際のバージョンに応じて様々なトレースツールがあります。
これらのツールを使用して、アクティビティを監視できます。
IIS の使用時、様々な場面で「404 Not Found
」が返されることがあります。このエラーが返された場合は、次のナレッジベース記事を参照してください。
Dispatcher のキャッシュルートと IIS のドキュメントルートが同じディレクトリに設定されていることも確認してください。
エラー内容
Dispatcher 経由で AEM のオーサーインスタンスにアクセスしていて、ワークフローモデルを削除しようとしたときの問題。
再現の手順:
オーサーインスタンスにログインします(要求が Dispatcher を経由することを確認してください)。
新しいワークフローを作成します。タイトルは、例えば workflowToDelete と設定します。
ワークフローが正しく作成されたことを確認します。
ワークフローを選択して右クリックし、「削除」をクリックします。
「はい」をクリックして実行を確認します。
次のエラーメッセージボックスが表示されます。
「ERROR 'Could not delete workflow model!!
」。
解決方法
dispatcher.any
ファイルの /clientheaders
セクションに、次のヘッダーを追加します。
x-http-method-override
x-requested-with
{
{
/clientheaders
{
...
"x-http-method-override"
"x-requested-with"
}
Dispatcher と Apache Web サーバー内の mod_dir
がどのようにやり取りするかを説明します。このやり取りは、予期しない様々な問題につながる可能性があるので、よく理解しておく必要があります。
Apache 1.3 では、mod_dir
は URL がファイルシステムのディレクトリにマッピングされたすべての要求を処理します。
次のいずれかを実行します。
index.html
ファイルへリダイレクトDispatcher が有効な場合、Dispatcher をコンテンツタイプ httpd/unix-directory
のハンドラーとして登録することで、このような要求を処理します。
Apache 2.x では、内容が異なります。モジュールで、URL の修正など様々なステージの要求を処理できます。mod_dir
でこのステージを処理するには、要求(URL がディレクトリにマッピングされている場合)を「/
」付きの URL にリダイレクトします。
Dispatcher は mod_dir
による修正の処理に影響しませんが、リダイレクトされた(「/
」付きの)URL への要求を完全に処理します。したがって、リモートサーバー(AEM など)で /a_path
への要求の処理が /a_path/
への要求の処理と異なる場合(/a_path
が既存のディレクトリにマッピングされる場合)に、問題となることがあります。
問題が発生した場合は、次のいずれかを実行します。
Dispatcher が操作するDirectory
サブツリーまたはLocation
サブツリーでの mod_dir
を無効にします
DirectorySlash Off
を使用して、mod_dir
によって「/
」が付加されないように設定します。