2

Sitecore 7 のページで検証を行うと、検証で例外がスローされます。

The Page represented by the item 'home/about-us' failed to render properly. The error was     :
The remote server returned an error : (500) Internal Server Error

ページが有効な XHTML としてレンダリングされるとは思っていませんでしたが、検証による例外も予想していませんでした。

なぜこの例外がスローされるのか、誰にも分かりますか?

ありがとう

4

4 に答える 4

2

私は最近この問題に遭遇しましたが、それはページのマークアップが無効だったのではなく、Sitecore バリデーターがエンド ユーザーに有用なフィードバックを提供するのに十分なほどエラーを処理していないことがわかりました。

XHTML バリデーターの仕組み (既定)

  1. 現在のアイテムのわかりやすい URL を作成します (言語、デバイスなどを処理するための追加パラメーターを使用)。
  2. 結合された URL を使用して Web 要求を作成し、このページを取得します (ここでエラーが発生する可能性が最も高くなります)。
  3. 応答をダウンロードして、W3C Validator に送信します (ここにはさらにロジックがありますが、おそらく OP の問題の原因ではありません)。
  4. 検証情報をユーザーに返します。

ではなぜ壊れてしまうのでしょうか?

上記の Web リクエストが失敗した場合、バリデーターも失敗しますが、実際には詳細な理由は示されません (内部例外メッセージが本当に必要なときに例外メッセージが表示されます)。また、Sitecore ログに何も記録できません。

XHTML バリデータの問題を修正する方法

あなたのサーバーは、それ自体への Web リクエストを許可するように正しく構成されていない可能性があります。ここにあなたを助けるかもしれないいくつかの簡単なアイデアがあります.

  1. 使用している場合は、有効な SSL 証明書があることを確認してください (自己署名は機能しません)。
  2. サーバー プロキシが正しく設定されていることを確認します。
  3. サーバーが奇妙な方法でリクエストを書き換えている URL でないことを確認してください。
  4. オリジナルに基づいて Sitecore.Data.Validators.ItemValidators.FullPageXHtmlValidator の新しい実装を作成し、新しいバリデーターを使用するように Sitecore のバリデーター アイテムを更新してから、デバッガーを実行します。
  5. XHtml バリデーターを無効にします (これは、実装の要件によって異なります)。
于 2014-10-21T07:05:46.290 に答える
1

まず第一に、ページを表示しようとしただけでページが読み込まれますか、それともクラッシュしますか?

それが機能する場合、次に確認することは、web.config を見ると、検証チェックが指定されている URL があることです。あなたがリストしたものを参照してください。これがデフォルトです。

<setting name="HtmlEditor.ValidatorServiceUrl" value="http://validator.w3.org/check" />

その値に設定されていない場合は、それを入れて再試行してください。そのページにアクセスできる場合は、手動で検証されるかどうかを確認してください。手動でチェックして成功した結果を返すことができる場合は、Sitecore サポートにチケットを提出することをお勧めします。

于 2013-07-23T17:42:58.820 に答える
1

(500) 内部サーバー エラーは一般的な HTTP ステータス コードで、Web サイトのサーバーで何か問題が発生し、サーバーが正確な問題を特定できないことを意味します。これはおそらく、ページまたはサイトのプログラミングの問題であり、あなたには何の関係もないことを意味します.

于 2013-07-15T14:41:01.647 に答える