HTTP 404 への対処

Similar documents
WebDAVの構成

Oracleセキュア・エンタープライズ・サーチ

Cisco CSS HTTP キープアライブと ColdFusion サーバの連携

mylittleadmin for SQL Server 2005 mylittleadmin for SQL Server 2005 Installation Guide version 3.1 ( インストールガイド日本語版 ) 目次 概要... 2 インストール要件... 2 インストールと設

Microsoft Word - Android_SQLite講座_画面800×1280


( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

FormPat 環境設定ガイド

Seasar.NET入門

OSSTechドキュメント

// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma

SpringSecurity

ESA 4.0 新機能 機能強化ポイント ESA 4.1 対応版 Ivanti Software 株式会社

メディプロ1 Javaサーブレット補足資料.ppt

WCF と IIS を使用して OData プロデューサーを作成する

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Altiris Nortification Server

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  

untitled

JP-2-Develop Websites and Components in AEM v6x_(V3_after QA)_1111

プログラミング基礎I(再)

IIS8でのクライアント証明書の設定方法

Microsoft Word - Improved_Protected-Mode_API_Support

9 WEB監視

つるい27-5月号PDF.indd

kiri_17.pdf

Windows Server 2003 におけるPrint Manager V6.0L10の留意事項

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Microsoft認定資格問題集(70-483_demo)

8021.X 認証を使用した Web リダイレクトの設定

Active Directory フェデレーションサービスとの認証連携

        ALTIRIS Client Management Suite Upgrade Guide                                 Rev 年6月30日  

— intra-mart Accel Platform セットアップガイド (WebSphere編)   第7版  

XAML Do-It-Yourself 第 3 回ベントとトリガー XML Do-It-Yourself 第 3 回目は ベント処理とトリガーについて学習します Windows フォームゕプリケーションでは たとえば ボタンが押された というベントに対応する処理 ( ベントハンドラー ) を記述する

intra-mart Accel Platform

目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 手順 手順 手順 手順 手順 終わりに... 23

intra-mart Accel Platform — 外部ソフトウェア接続モジュール 仕様書   第3版  

Flex Signal for AirGRID

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2

PowerPoint Presentation

Microsoft PowerPoint ppt

d_appendixB-asp10appdev.indd

他の章は下記をクリックして PDF 一覧からお入り下さい IT ライブラリー (pdf 100 冊 ) 目次番号 270 番 Windows Server Enterprise 2008 R2 完全解説 ( 再入門 )

Team Foundation Server 2018 を使用したバージョン管理 補足資料

1. アンケート集計サンプルについて ここでは Windows Azure と SQL Azure を使ってアンケートを実施し アンケート結果を Excel で集計するサンプルについて説明します アンケートは Windows Azure で運用し アンケート結果は SQL Azure に格納されます

本資料について 本資料は LOT-440: IBM WebSphere Portal and Portal Products Fundamentals を前提とした 技術者向けの学習資料です 本資料をヒントに次ページ情報源の情報を学習いただき 試験に臨んでください 2

Microsoft Word - FWTEC0003.doc

Flex Signal for AirGRID

1. アジェンダ Windows Media 9 Series メタファイルと再生リストファイル Flash Communication Server Streaming 用 ActionScript の記述 2

Prog2_10th

Microsoft Word - Versioning_and_Internet_Explorer_Modes

Express5800/T110j-S(4C/E-2124-W2016-WSUS) 再セットアップガイド 発行日 :2019/6/21 版数 :1.0 NEC Corporation 2019

一般社団法人ビジネス機械・情報システム産業協会

CD-ROM 版をご使用の場合 インストールガイド CD-ROM ドライブ \doc\ インストールガイド.pdf 基本操作ガイド CD-ROM ドライブ \doc\ 基本操作ガイド.pdf 設定ガイド CD-ROM ドライブ \doc\ 設定ガイド.pdf ダウンロード版をご使用の場合 インストー

Visual Studio 2013 によるコードマップを使用した 特定のコード内での依存関係の対応付け 2014 Microsoft Corporation. All rights reserved. 1

PowerPoint プレゼンテーション

Microsoft Word - A04 - Configuring Launch In Context_jp-ReviewedandCorrected a.doc

Si 知識情報処理

概要 ABAP 開発者が SAP システム内の SAP ソースまたは SAP ディクショナリーオブジェクトを変更しようとすると 2 つのアクセスキーを入力するよう求められます 1 特定のユーザーを開発者として登録する開発者キー このキーは一度だけ入力します 2 SAP ソースまたは SAP ディクシ

ObjectPartner Pro

スライド 1

国立国会図書館サーチとのOAI-PMH連携時に障害となるポイント

Silk Central Connect 15.5 リリースノート

アーカイブ機能インストールマニュアル


URoad-TEC101 Syslog Guide

Sharing the Development Database

H indd

Mobile Access簡易設定ガイド

Web GIS Template Uploader 利用ガイド

Prog2_10th

ローカル認証の設定例を含む WLC 5760/3850 Custom WebAuth

PowerPoint Presentation

WebOTXマニュアル

PowerPoint プレゼンテーション

Flex Signal for AirGRID

1. 信頼済みサイトの設定 (1/3) この設定をしないとレイアウト ( 公報 ) ダウンロードなどの一部の機能が使えませんので 必ず設定してください 1 Internet Explorer を起動し [ ツール ]-[ インターネットオプション (O)] を選択します 2 [ セキュリティ ] の

ESET Smart Security 7 リリースノート

CLUSTERPRO MC ProcessSaver 2.3 for Windows 導入ガイド 第 5 版 2018 年 6 月 日本電気株式会社

untitled

Delphi/400でFlash動画の実装

1. 検証概要 目的及びテスト方法 1.1 検証概要 Micro Focus Server Express 5.1 J の Enterprise Server が提供する J2EE Connector 機能は JCA 仕様準拠のコンテナとして多くの J2EE 準拠アプリケーションサーバーについて動作

Cisco Unified Communications Manager サーバ アドレスとユーザ名の自動的な入力

MISAO with WPF

OSSTechプレゼンテーション

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   None

Chromeleon 6 for Chromeleon 6.8 SR15 Build: --- 新しいシーケンスの作成に使用できるワークリストファイル (.wle) Doc. Nr: CM6_68150_0020 Doc. Ver.: Doc. Type: Guide

スライド タイトルなし

ELC 5.3

Prog2_12th

MVP for VB が語る C# 入門

アーカイブ機能インストールマニュアル

リクエストの内容は以下のとおりです 実行する API オペレーションの名前 ( METHOD=name で指定 ) と そのバージョン 注 : METHOD パラメータの後に 任意の順でパラメータを指定できます リクエストを生成した PayPal アカウントを識別する信用証明書 実行する API オ

ブラウザー設定リファレンス

1 copyright(c) Digital-Effect Network CO.,LTD. All rights reserved.

AvePoint Perimeter Release Notes

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

VBコンバータ利用方法

Transcription:

Sitecore CMS 6 HTTP 404 への対処 Rev: 2010-12-10 Sitecore CMS 6 HTTP 404 への対処 Sitecore を使用して HTTP 404 Page Not Found 状態に対処するための開発者向けガイド

目次 Chapter 1 イントロダクション... 3 Chapter 2 HTTP 404 Page Not Found 状態... 4 2.1 HTTP 404 Page Not Found 状態の概要... 5 2.1.1 IIS HTTP 404 Page Not Found の管理... 5 2.1.2 Sitecore HTTP 404 Page Not Found の管理... 6 LinkItemNotFound 設定... 6 2.2 一貫性のある HTTP 404 Page Not Found の管理... 7 2.3 HTTP 404 Page Not Found パイプラインプロセッサー... 8 2 / 8

Chapter 1 イントロダクション この文書では Microsoft Internet Information Server (IIS) ASP.NET アプリケーションサーバー および Sitecore Web コンテンツ管理システム (CMS) で HTTP 404 Page Not Found 状態を処理する方法に関する情報を提供します Sitecore 開発者はこの情報を使用して 一貫性を保ちながら HTTP 404 Page Not Found 状態を処理したり 検索結果の提供などの特定の目的を果たすことができます この文書には次の章があります : Chapter 1 イントロダクション Chapter 2 HTTP 404 Page Not Found 状態 3 / 8

Chapter 2 HTTP 404 Page Not Found 状態 この章では Microsoft Internet Information Server (IIS) ASP.NET アプリケーションサーバー および Sitecore で HTTP 404 Page Not Found 状態を処理する方法に関する情報を提供します この章には次のセクションがあります : HTTP 404 Page Not Found 状態の概要 一貫性のある HTTP 404 Page Not Found の管理 HTTP 404 Page Not Found パイプラインプロセッサー 4 / 8

2.1 HTTP 404 Page Not Found 状態の概要 HTTP 404 Page Not Found 状態は HTTP 要求が Web サーバー上のリソースに対応していない場合に発生します Web サーバーは 正常な HTTP 要求に対しては HTTP 200 Success ステータスコードおよびコンテンツペイロードを使用して応答します Web サーバーは HTTP 404 Page Not Found 状態に対しては HTTP 404 Page Not Found ステータスコードと 404 ページと呼ばれるフレンドリエラーメッセージを提供するマークアップを使用して応答します 各種 Web ソリューションでは 404 状態を処理し さまざまな目的に対して 404 ページを使用することができます これには HTTP 404 ステータスコードおよび 404 ページを返す代わりに検索結果をリダイレクトまたはレンダリングする場合などがあります 重要 IIS の設定によって 一部の要求の処理には ASP.NET を自動的に使用しないこともあります 1 Sitecore では IIS が ASP.NET を使用して処理しない要求を処理することはできません 2.1.1 IIS HTTP 404 Page Not Found の管理 IIS Web サーバーは ディスク上のファイルを処理するか ASP.NET アプリケーションサーバーなどのプロセスを使用して要求を処 理することにより 各 HTTP 要求に応答します このプロセスがそれ自体のエラーを管理しない場合 エラー管理は IIS に返され ます IIS が ASP.NET を使用して要求を処理しない場合 IIS はディスク上のファイルを処理しようとします このファイルが存在しない 場合 IIS は IIS 管理コンソールを介して定義された 404 ページを起動します IIS が ASP.NET を使用して HTTP 要求を処理する場合 Sitecore は要求をインターセプトし web.config に定義されている httprequestbegin パイプラインを呼び出します プロセッサーが httprequestbegin パイプラインを中断すると ASP.NET は Sitecore アイテム用の要求としてではなく スタンドアロン ASP.NET ページ用の要求としてこの要求を処理します IIS がスタンドアロン ASP.NET ページ用の要求として要求を処理し この URL に対応するファイルが存在せず web.config 内の /configuration/system.web/customerrors/configuration エレメントの mode 属性が On または RemoteOnly であり 要求がローカルに生成されたものである場合 IIS は statuscode が 404 である web.config 内の /configuration/system.web/customerrors/error エレメントの redirect 属性によって指定された URL にユーザーエージェントをリダイレクトします このようなエレメントが存在しない場合 IIS は web.config 内の /configuration/system.web/customerrors エレメントの defaultredirect 属性によって指定された URL に Web クライアントをリダイレクトします : <customerrors mode="remoteonly" defaultredirect="/errors/default.html"> <error statuscode="404" redirect="/errors/404.html" /> </customerrors> 1 IIS が ASP.NET を使用して他の種類の要求を処理するよう設定する方法については http://sdn.sitecore.net/reference/references%20in%20japanese/dynamic%20links.aspx を参照してく ださい 5 / 8

defaultredirect 属性が存在しない場合 IIS はハードコードされた HTML エラーメッセージを使用して HTTP 要求に応 答します 2.1.2 Sitecore HTTP 404 Page Not Found の管理 IIS が ASP.NET を使用して要求を処理し いずれのプロセッサーも httprequestbegin パイプラインを中断せず 要求された URL が Sitecore メディアアイテム コンテキストサイト内のコンテンツアイテム またはディスク上のファイルに対応していない場合 Sitecore は name ItemNotFoundUrl がある web.config 内の /configuration/sitecore/settings/setting エレメントの value 属性によって指定された URL を起動します LinkItemNotFound 設定 リッチテキストエディター (RTE) フィールドには 存在しないアイテムへのリンクが含まれる場合 Sitecore はこのリンクを name LinkItemNotFound がある web.config 内の /configuration/sitecore/settings/setting エレメントの value 属性によって指定される URL へのリンクとしてレンダリングします 6 / 8

2.2 一貫性のある HTTP 404 Page Not Found の管理 一貫性を保ちながら HTTP 404 Page Not Found 状態を管理するには 次をすべて同じ値に設定します : 2 IIS 管理コンソールを介して設定される IIS 404 ページ (ASP.NET および Sitecore を使用してすべての要求を IIS に処理させるためにオプションとして /default.aspx などの代替値に設定します ) web.config の /configuration/system.web/customerrors セクション内の ASP.NET 404 ページ web.config 内の ItemNotFoundUrl 設定 web.config 内の LinkItemNotFound 設定 ヒント検索エンジン最適化については 現在の System.Web.HttpResponse の Status プロパティを設定することにより 任意の無効な URL に対して HTTP 404 ステータスコードを返す必要があります レイアウトまたはサブレイアウトのコードビハインドファイルから HTTP 応答にステータスコードを設定するには this.response.statuscode を設定します Web コントロールから HTTP 応答にステータスコードを設定するには this.page.response.statuscode を設定します この System.Web.HttpResponse オブジェクトの Status および StatusDescription プロパティを設定することもできます 3 2 IIS 404 ページの設定の詳細については http://sdn.sitecore.net/reference/references%20in%20japanese/dynamic%20links.aspx を参照してください 3 System.Web.HttpResponse クラスの詳細については http://msdn.microsoft.com/en-us/library/system.web.httpresponse.aspx を参照してください 7 / 8

2.3 HTTP 404 Page Not Found パイプラインプロセッサー 404 ページを使用して HTTP 404 Page Not Found 状態を処理する代わりに httprequestbegin パイプラインプロセッサーを使用することができます たとえば 404 ページを返すのではなく 404 要求および参照ページをログに記録して古い URL から新しい URL にリダイレクトするか 404 ページの代わりに検索結果を提供することができます httprequestbegin パイプライン内で HTTP 404 Page Not Found 状態を処理することにより 多くの場合 リダイレクトによって生成される追加の HTTP 要求および応答によるオーバーヘッドを回避することができます 4 HTTP 404 Page Not Found の httprequstbegin パイプラインプロセッサーを実装する方法 : 1. Sitecore.Pipelines.HttpRequest.HttpRequestProcessor から継承するクラスを作成します 2. Process() メソッドを実装します ( ほとんどの場合 コンテキストアイテムが判明しているか コンテキストサイトまたは データベースが不明である場合 このプロセッサーは処理を行わないようにする必要があります ): namespace Namespace.Pipelines.HttpRequest { public class NotFoundProcessor : Sitecore.Pipelines.HttpRequest.HttpRequestProcessor { public override void Process( Sitecore.Pipelines.HttpRequest.HttpRequestArgs args) { if (Sitecore.Context.Item!= null Sitecore.Context.Site == null Sitecore.Context.Database == null) { return; } } } } // TODO: logic, such as to set Sitecore.Context.Item // based on Sitecore.Context.Request.FilePath 3. web.config 内の /configuration/sitecore/pipelines/httprequestbegin パイプライン内のデ フォルトアイテムリゾルバー <processor> の後ろにプロセッサーを挿入します : <processor type="sitecore.pipelines.httprequest.itemresolver, Sitecore.Kernel" /> <processor type="namespace.pipelines.httprequest.notfoundprocessor, Assembly" />... 4 HTTP 404 Page Not Found 状態を処理するパイプラインプロセッサーの例については http://trac.sitecore.net/pagenotfound/ を参照してください 8 / 8