ディスパッチャーで IIS7.x URL リライトを設定する方法

問題、質問

ディスパッチャーがインストールされた IIS で書き換えルールを設定しようとすると、500 のエラーが発生します。  IIS7 の URL リライトモジュールを CQ ディスパッチャーと連動するように設定するにはどうすればよいですか?

解決策、回答

IIS 7.x の設定

IIS7.x をインストールする手順はこちらです
http://learn.iis.net/page.aspx/29/installing-iis-7-on-windows-server-2008-or-windows-server-2008-r2/

IIS をインストールするときは、すべての機能を有効にしてください。

IIS URL リライトの設定

IIS URL の書き換えモジュールが必要です。  インストールするには、この Web ページ http://www.iis.net/download/urlrewrite の右側のインストールボタンをクリックします。

ディスパッチャーの設定

IIS7 にディスパッチャーをインストールするには、次の手順に従います。
http://dev.day.com/docs/en/cq/current/deploying/dispatcher.html#Microsoft%20Information%20Server

URL 書き換えを設定すると、gzip 圧縮で機能します。

この手順では、IIS gzip 圧縮機能を設定します。これにより、URL 出力書き換えで動作するようになります(これら 2 つの機能が競合するデフォルトの設定で)。

  1. 「開始」 -> 「管理ツール」 -> 「インターネットインフォメーションサービス (IIS) マネージャー」へ移動します。
  2. IIS マネージャーでツリーを参照し、ディスパッチャーを設定した IIS サイトを選択します。
  3. 「圧縮」をダブルクリックします。
  4. 「静的コンテンツの圧縮を有効にする」をオフにします
  5. 「開始」に移動してクリックする
  6. 「検索プログラムとファイル」編集ボックスに「cmd」と入力し、Ctrl+Shift+Enter キーを押します(これはコマンドを管理者として実行します)
  7. 管理コマンドプロンプトで LogRewrittenUrlEnabled レジストリのエントリを追加するには、次のように入力します。
    reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\Rewrite /v LogRewrittenUrlEnabled /t REG_DWORD /d 0
  8. 「インターネットインフォメーションサービス(IIS)マネージャー」ウィンドウに戻り、再度ディスパッチャー Web サイトに移動します。次に、「Configuration Editor」をダブルクリックし、dynamicCompressionBeforeCache プロパティが /system.webServer/urlCompression 設定エレメントで False に設定されていることを確認します。
  9. メインサイト表示に戻ります(左側のツリーのサイトをクリック)
  10. 「モジュール」をダブルクリックします
  11. モジュール画面で、右側の「View Ordered List...」をクリックします。
  12. 動的圧縮モジュール(DynamicCompressionModule)の下に URL 書き換えモジュール(RewriteModule)を移動します。

サンプルを書き直しのルールの設定

この手順では、www.geometrixx.com Web サイトのサンプル書き換えルールをいくつか設定します。これらのルールは .html 拡張子の URL を書き換えて、/content/geometrixx が含まれなくなるようにします。例えば CQ5 パブリッシュインスタンスを直接行く場合、http://localhost:4503/content/geometrixx/en.html にたどり着きます。これらの再書き込みルールによって、dns のホスト名 www.geometrixx.com を使用する IIS サーバーにアクセスする場合は、http://www.geometrixx.com/en.html に移動して、/content/geometrixx/en.html に移動します。

ディスパッチャーモジュールを一貫して動作させるために書き換えルールを設定するには、サーバーレベルで設定する必要があります。また、これらのルールは、UI を使用して IIS applicationHost.config xml ファイルを修正することで設定するほうがはるかに高速です。これらの指示はこの方法に従います。

  1. 「開始」に移動
  2. 「プログラムとファイルの検索」ボックスにテキスト「notepad」と入力し、Ctrl + Shift + Enter(管理者としてコマンドを実行する)を押します。
  3. 「次のプログラムがこのコンピューターに変更を加えることを許可しますか?」とポップアップに表示されたら、「はい」をクリックします。
  4. メモ帳で、「ファイル」/「開く」に移動します。
  5. ダイアログボックスに、このパスをコピーペーストします:c:\Windows\system32\inetsrv\config\applicationHost.config and hit Enter。applicationHost.config ファイルの内容がメモ帳に表示されます。
  6. 最後の xml タグのすぐ前に次をコピーペーストします </system.webServer>
    <rewrite>
    <globalRules>
    <rule name="Root Context 1" enabled="true">
    <match url="^(。*)\.html(.*)" />
    <action type="Rewrite" url="/content/geometrixx/{R:1}.html{R:2}" appendQueryString="false" />
    <conditions>
    <add input="{HTTP_HOST}" pattern="^www.geometrixx.com" />
    <add input="{REQUEST_URI}" pattern="^/etc/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/etc$" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/bin/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/system/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/libs/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/libs$" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/var/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/tmp/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/tmp$" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/crx/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/crx$" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/content/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/crxde$" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/apps/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/apps$" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/scripts/disp_iis" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/dispatcher/invalidate" negate="true" />
    </conditions>
    </rule>
    </globalRules>
    <outboundRules>
    <rule name="rewrite output" enabled="true">
    <match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script" pattern="^/content/geometrixx/(.*)\.html(.*)$" />
    <action type="Rewrite" value="/{R:1}.html{R:2}" />
    <conditions>
    </conditions>
    </rule>
    </outboundRules>
    </rewrite>
  7. メモ帳で、Shift + S キーを押して保存します
  8. 「スタート」 -> 「アドミニストレイティブツール」 -> 「インターネットインフォメーションサービス(IIS)マネージャー」へ移動します
  9. ツリー(サーバーアイコン)の上部ノードを選択/展開
  10. サーバーアイコンを右クリックし、「停止」をクリックしてサーバーを停止します。
  11. 停止したら、戻って「スタート」をクリックします。
  12. IIS マネージャーのサーバーアイコンを選択
  13. 右パネルで、「URL 書き換え」をダブルクリック
  14. これで、xml ファイルから追加したサンプルルールが表示されるようになりました。

 Adobe

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Adobe MAX 2025

Adobe MAX Japan
クリエイターの祭典

2025 年 2 月 13 日
東京ビッグサイト