---
title: "パッチファイルを使ってSitecoreの設定をカスタマイズしてください"
slug: "use-a-patch-file-to-customize-the-sitecore-configuration"
abstract: "パッチファイルを使ってサーバーの設定を追加または変更する方法。"
---
# パッチファイルを使ってSitecoreの設定をカスタマイズしてください

パッチファイルを使ってSitecore.configファイルの設定を追加または変更します。SitecoreパッチファイルをSitecore.configファイルとマージして、実行時に使われる設定ファイルを作成します。

このトピックでは、以下の方法を説明します:

-   [パッチファイルを作成する](https://doc.sitecore.com/xp/ja/developers/101/platform-administration-and-architecture/use-a-patch-file-to-customize-the-sitecore-configuration.html#UUID-06b14d2f-d931-6e7a-bb84-b1ef3c871e7c_id__Create_a_patch "Create a patch file")
-   [設定の適用方法をコントロールしてください](https://doc.sitecore.com/xp/ja/developers/101/platform-administration-and-architecture/use-a-patch-file-to-customize-the-sitecore-configuration.html#UUID-06b14d2f-d931-6e7a-bb84-b1ef3c871e7c_id__Control_how_settings "Control how settings are applied")
-   [設定ファイルのロードオーダーを制御する](https://doc.sitecore.com/xp/ja/developers/101/platform-administration-and-architecture/use-a-patch-file-to-customize-the-sitecore-configuration.html#UUID-06b14d2f-d931-6e7a-bb84-b1ef3c871e7c_id__Control_the_load "Control the load order of configuration files")

## パッチファイルを作成する

設定をカスタマイズするためのパッチファイルを作成するには:

1.  Sitecoreの [カスタマイズ可能な2つのレイヤー](https://doc.sitecore.com/xp/ja/developers/101/platform-administration-and-architecture/configuration-layers.html "Configuration layers") のいずれかにファイルを作成します:
    
    -   カスタムレイヤー – デフォルトSitecore設定をシステム環境に依存しない形でカスタマイズするパッチファイルを、カスタムレイヤーに属する /App\_Config/Include フォルダに配置しなければなりません。
    -   環境レイヤー – QAや開発などの特定の環境に対応したSitecoreを設定するパッチファイルを、環境レイヤーに属する /App\_Config/Environment フォルダに配置する必要があります。
    
    ファイルをフォルダのルートに置くか、フォルダ内に作成したサブフォルダに入れることができます。
    
2.  パッチファイルには拡張子名で終わる名前を付け .config。
    
3.  まずファイル内の基本的な構造から始めます:
    
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
    <sitecore>
    </sitecore>
    </configuration>
    
4.  パッチファイルの <sitecore> セクションで、設定に追加したい設定変更を追加してください。
    
    > !注パッチはapp\_config/sitecore.configファイル内でのみ可能です。 web.configやapp\_config/layers.configファイルなど他のファイルの設定はパッチ適用できません。これらのファイルの設定を変更する場合は、必ず直接編集してください。
    

[ルールベースの構成](https://doc.sitecore.com/xp/ja/developers/101/platform-administration-and-architecture/rule-based-configuration.html "Rule-based configuration")を使って、Sitecoreがパッチ適用設定を適用する条件を制御してください。

## 設定の適用方法をコントロールしてください

Sitecoreがパッチファイルの変更を適用すると、パッチファイル内の各要素を既存の構成の要素と、その要素名とすべての属性の組み合わせでマッチングしようとします。一致があれば、Sitecoreは既存の要素を更新します。一致しなければ、Sitecoreは新しい要素を挿入します。

> !注パッチファイル要素が既存の構成内の複数の要素と一致した場合、Sitecoreは最初に見つけた一致する要素に更新を適用します。したがって、その要素を一意に識別できるよう、十分な属性を指定することを強くお勧めします。

デフォルトでは、Sitecoreはその要素が属する構成セクションの最後に新しい要素を挿入します。

Sitecoreの要素挿入方法を制御するには:

1.  属性を使って設定を変更または追加できるXML名前空間patchsetを登録し、それらを<configuration>設定に追加してください:
    
    <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/"
    xmlns:set="http://www.sitecore.net/xmlconfig/set/">
    
2.  patch:属性を使って、要素が既存の要素に対してどこに配置されているか、または同名の既存要素を置き換えたり更新したりするかどうかを指定します。以下の属性を使用できます:
    
    -   patch:before – は指定された要素の前に要素を挿入します。
    -   patch:after – は指定された要素の後に要素を挿入します。
    -   patch:attribute – は要素の指定された属性を定義または置き換えます。同じ効果は set 名前空間を使えば達成できます。
    -   patch:delete – は指定された要素を除去します。
    -   patch:instead – は指定された要素を置き換えます。
    
    例えば、既存のサイトwebsitemysiteの前に置くには、以下の構文を用いてください。
    
    <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
     <sitecore>
     <sites>
     <site patch:before=”\*@name='website'” name=”mysite” ... />
     </sites>
     </sitecore>
    </configuration>
    

> !注 [パッチファイルの例](https://doc.sitecore.com/xp/ja/developers/101/platform-administration-and-architecture/configuration-patch-file-examples.html "Configuration patch file examples") を使ってSitecoreの設定を変更することができます。パッチファイルの詳細な説明は「 [ファイルパッチ機能を含める」ガイド](https://doc.sitecore.com/legacy-docs/SC75/include-file-patching-facilities-sc6orlater-a4.pdf)でご覧いただけます。この説明は主にSitecoreバージョン6に関するものですのでご注意ください。

## 設定ファイルのロードオーダーを制御する

Sitecoreが設定ファイルを読み込む順序は重要です。なぜなら、ファイルに加えた変更は後で読み込まれるファイルによって修正または上書きされる可能性があるからです。Sitecoreが複数のファイルで同じ設定設定を見つけた場合、最後に読み込んだファイルが前のバージョンの設定を上書きします。

レイヤー内で設定ファイルの読み込み順序を制御するには:

1.  /App\_config/layers.configファイルで、レイヤーの定義に <loadOrder> 設定を追加してください:
    
    <layer name="Custom" includeFolder="/App\_Config/Custom/">
    <loadOrder>
    </loadOrder>
    </layer>
    
2.  <loadOrder>セクション内のファイルフォルダや個別ファイルを読み込みたい順に追加してください:
    
    <loadOrder>
    <add path="Folder23" type="Folder" />
    <add path="Folder9/sitespecific.config" type="File" />
    <add path="Folder1" type="Folder" />
    </loadOrder>
    

Sitecore <loadOrder> 設定に遭遇すると、以下の順番で設定ファイルを読み込みます。

1.  <loadOrder>セクションで指定されたフォルダやファイルが最初に読み込まれ、リストの順に読み込みます。前の例では、まずFolder23フォルダのファイルが読み込まれ、次にsitespecific.configファイル、そしてFolder1フォルダのファイルが読み込まれます.
2.  <loadOrder>セクションで指定されていないフォルダやファイルは2番目に読み込みます。それらはアルファベット順に読み込まれます。フォルダのルートに配置されたファイルは、サブフォルダ内のファイルより先に読み込みます。

> !注[Show Configツール](https://doc.sitecore.com/xp/ja/developers/101/platform-administration-and-architecture/view-configuration-changes.html "View configuration changes") を使って、Sitecoreが実行時にコンパイルした際の結果として見た仕上がりを確認できます。また、Show Configツールを使って、実際に設定を変更しずに設定ルールの変更や設定レイヤーの無効化をシミュレートすることもできます。