2011-01-03 15 views
1

私はSharePoint 2010公開サイトで作業しています。これは、aspを使用して構築された従来のサイトを置き換えています。Sharepoint 2010カスタム404ページ - asp拡張子

公開され、匿​​名であるため、カスタム404ページを実装しています。不思議なことに、これは単純なOOTB(通常のような)ではありませんが、私は404ページを展開してイベントレシーバーを使用してリンクしています。完璧、うまく動作します。

したがって、テストでは、存在しなかったランダムなページをいくつか入力してみました。 .htm、.html、および.aspxでは正常に動作しました。次に、.asp拡張子を試しました。これは、未処理のブックマーク/検索エンジンのリンクがすべて基づいているためです。 404ページの代わりに空白のページがあります。 Firebugでチェックしたところ、ファイルは404ヘッダーで返されましたが、内容はありません。良くない。

誰でもこの問題を解決しましたか?カスタムHTTPモジュールはここに行く唯一の方法ですか?

別の奇妙な振る舞いとして、未知の拡張子を使用すると、404ページのHTMLをテキストとしてレンダリングします。 を編集します。また、存在しない拡張レスフォルダを入力すると、同じ動作が発生します。うわー、この変な獣は私を悩ませ続けています。

ありがとうございました。

更新

HttpModuleをここに行くための唯一の方法であるように見えます。誰もが完全なコードを知りたいと思うなら、私はこれを働かせています。私はここにそれを掲示するだろうが、SOコードフォーマッタはマングリングしているものです。

web.configファイルのエントリは次のようになります。

<add name="PageNotFoundHttpModule" type="ProjectName.PageNotFoundHttpModule, ProjectName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=fb507da11a891ef3" preCondition="integratedMode" /> 

答えて

4
+0

はい、私は今考えています。私はこれが唯一の方法だと思う。かなりショッキングな、本当に。 – ScottE

+0

web.configエントリを追加できません - gettin "指定されたアセンブリ名またはコードベースが無効です。" - あなたはHttpModuleを追加する方法についてのブログを知っていますか?ありがとう。 – ScottE

+0

はい、私はGACにvnetソリューションを導入しました - これはデフォルトです。私は自分のソリューションにクラスを追加しました。これをdllに含めるには、何も特別なことはありませんか?また、これは、統合されたパイプラインとしてsystem.webServer> modulesにあります。 – ScottE

0

HttpModuleを必ず行く方法です。私はそれが

http://blog.mastykarz.nl/sharepoint-2010-page-not-found-404/

を作業得るために、このページを踏襲し、私は前提を残したり、他の空白のページに実行される場合は、モジュールのみ動作します。

+0

彼は既にそれを働いて主題に関する編集日を見ました – Caribou

関連する問題