ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express Interstage HTTP Server 2.2運用ガイド
FUJITSU Software

付録C URL書換えの設定方法

クライアント(Webブラウザ)から指定されたURLを書き換える設定は、変換種別などにより、いくつかの方法があります。Webサーバの運用方法に応じて設定してください。
変換種別の機能概要、その変換種別に対する設定可否・設定方法について、以下に説明します。


変換種別の機能概要

内部リダイレクト

内部リダイレクトは、URL内のパスを書き換える場合に使用します。
内部リダイレクトの処理の流れを以下に示します。

  1. クライアント(Webブラウザ)は、URLを指定してWebサーバにアクセス要求を行います。

  2. Webサーバは、クライアント(Webブラウザ)からのリクエストがURL書換え条件を満たしているかを判定します。条件を満たしている場合は、URLを変換し、変換後のURLに対する応答をクライアント(Webブラウザ)に返却します。


外部リダイレクト

外部リダイレクトは、URLを新しいURLに書き換える場合に使用します。
外部リダイレクトの処理の流れを以下に示します。

  1. クライアント(Webブラウザ)は、URLを指定してWebサーバにアクセス要求を行います。

  2. Webサーバは、クライアント(Webブラウザ)からのリクエストがURL書換え条件を満たしているかを判定します。条件を満たしている場合は、Locationヘッダに変換後のURLを設定してステータスコード「302」(Moved Temporarily)で応答します。

    注意

    ステータスコードは、設定により「301」(Moved Permanently)または「303」(See Other)で応答することもできます。

  3. クライアント(Webブラウザ)は、Locationヘッダに設定されたURLを指定し、再度、Webサーバにアクセス要求を行います。

  4. Webサーバは、クライアント(Webブラウザ)からのリクエストに対する応答をクライアント(Webブラウザ)に返却します。


リバースプロキシ

リダイレクトを使用せずに、URLを変換したリクエストを同一のWebサーバで処理させる場合、リバースプロキシサーバとWebサーバを1つのWebサーバ上で運用します。
リバースプロキシによる処理の流れを以下に示します。

  1. クライアント(Webブラウザ)は、URLを指定してリバースプロキシサーバにアクセス要求を行います。

  2. リバースプロキシサーバは、クライアント(Webブラウザ)からのリクエストがURL書換え条件を満たしているかを判定します。条件を満たしている場合は、URLを変換したリクエストをWebサーバに転送します。

  3. Webサーバは、URLを変換したリクエストに対する応答をリバースプロキシサーバに返却します。

  4. リバースプロキシサーバは、Webサーバから受け取った応答をクライアント(Webブラウザ)に返却します。


アクセス拒否

クライアント(Webブラウザ)からのリクエストがアクセス拒否条件を満たしている場合は、アクセスを拒否します。
アクセス拒否の処理の流れを以下に示します。

  1. クライアント(Webブラウザ)は、URLを指定してWebサーバにアクセス要求を行います。

  2. Webサーバは、クライアント(Webブラウザ)からのリクエストがアクセス拒否条件を満たしているかを判定します。条件を満たしている場合は、ステータスコード「403」(Forbidden)で応答してアクセスを拒否します。


変換種別に対する設定可否・設定方法

URL書換えを設定する場合は、以下の表で変換種別に対する設定可否を確認し、設定可である場合は、それぞれの設定方法を参考にして環境定義ファイル(httpd.conf)を編集してください。


変換種別

リクエストの通信種別

変換後のURL

設定可否

設定方法

内部リダイレクト

SSL未使用

SSL未使用

仮想ディレクトリ

静的コンテンツへのパス

設定可

設定方法1

CGIプログラムへのパス

設定可

設定方法2

Servletサービスのアプリケーションへのパス

設定不可

リライト機能

静的コンテンツへのパス

設定可

設定方法3

CGIプログラムへのパス

設定可

設定方法4

Servletサービスのアプリケーションへのパス

設定不可
注)代替方法あり

代替方法:
設定法9

SSL使用

設定不可

SSL使用

SSL未使用

設定不可
注)代替方法あり

代替方法:
設定方法9

SSL使用

仮想ディレクトリ

静的コンテンツへのパス

設定可

設定方法1

CGIプログラムへのパス

設定可

設定方法2

Servletサービスのアプリケーションへのパス

設定不可

リライト機能

静的コンテンツへのパス

設定可

設定方法3

CGIプログラムへのパス

設定可

設定方法4

Servletサービスのアプリケーションへのパス

設定不可

外部リダイレクト

SSL未使用/SSL使用

SSL未使用

リダイレクト機能

静的コンテンツへのパス

設定可

設定方法5

CGIプログラムへのパス

Servletサービスのアプリケーションへのパス

リライト機能

静的コンテンツへのパス

設定可

設定方法6

CGIプログラムへのパス

Servletサービスのアプリケーションへのパス

SSL使用

リダイレクト機能

静的コンテンツへのパス

設定可

設定方法7

CGIプログラムへのパス

Servletサービスのアプリケーションへのパス

リライト機能

静的コンテンツへのパス

設定可

設定方法8

CGIプログラムへのパス

Servletサービスのアプリケーションへのパス

リバースプロキシ

SSL未使用/SSL使用

SSL未使用

リライト機能

静的コンテンツへのパス

設定可

設定方法9

CGIプログラムへのパス

Servletサービスのアプリケーションへのパス

SSL使用

設定不可

アクセス拒否

SSL未使用/SSL使用

SSL未使用/SSL使用

設定可

設定方法10


設定方法1

指定した仮想ディレクトリ「URLパス」/「URLパターン」を、静的コンテンツへのパス「ファイルパス」/「ディレクトリパス」に内部リダイレクトする場合、以下のどちらかの方法で設定します。

Alias URLパス ファイルパス|ディレクトリパス

AliasMatch URLパターン ファイルパス|ディレクトリパス

設定方法2

指定した仮想ディレクトリ「URLパス」/「URLパターン」を、CGIプログラムへのパス「ファイルパス」/「ディレクトリパス」に内部リダイレクトする場合、以下のどちらかの方法で設定します。

LoadModule cgi_module "C:/Interstage/F3FMahs/modules/mod_cgi.so"

ScriptAlias URLパス ファイルパス|ディレクトリパス

LoadModule cgi_module "C:/Interstage/F3FMahs/modules/mod_cgi.so"

ScriptAliasMatch URLパターン ファイルパス|ディレクトリパス

LoadModule cgid_module "/opt/FJSVahs/modules/mod_cgid.so"

ScriptAlias URLパス ファイルパス|ディレクトリパス

LoadModule cgid_module "/opt/FJSVahs/modules/mod_cgid.so"

ScriptAliasMatch URLパターン ファイルパス|ディレクトリパス

注意

CGIプログラム実行の設定方法については、「3.28 CGIプログラム実行許可の設定」を参照してください。


設定方法3

指定した「URLパターン」の書換え条件を満たすリクエストを、静的コンテンツへのパスに内部リダイレクトする場合、以下の方法で設定します。

LoadModule rewrite_module "C:/Interstage/F3FMahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteRule   URLパターン '/'から始まるパス

LoadModule rewrite_module "/opt/FJSVahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteRule   URLパターン '/'から始まるパス

RewriteCondディレクティブを使用して書換え条件を追加する場合は、以下の方法で設定します。

LoadModule rewrite_module "C:/Interstage/F3FMahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteCond   テスト文字列 条件パターン 
RewriteRule   URLパターン '/'から始まるパス

LoadModule rewrite_module "/opt/FJSVahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteCond   テスト文字列 条件パターン 
RewriteRule   URLパターン '/'から始まるパス

注意

Servletサービスのアプリケーションに対するリクエストを書き換える場合は、上記のディレクティブを<Location>セクションの中に設定してください。


設定方法4

指定した「URLパターン」の書換え条件を満たすリクエストを、CGIプログラムへのパスに内部リダイレクトする場合、以下の方法で設定します。

LoadModule rewrite_module "C:/Interstage/F3FMahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteRule   URLパターン '/'から始まるパス [PT]

LoadModule rewrite_module "/opt/FJSVahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteRule   URLパターン '/'から始まるパス [PT]

RewriteCondディレクティブを使用して書換え条件を追加する場合は、以下の方法で設定します。

LoadModule rewrite_module "C:/Interstage/F3FMahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteCond   テスト文字列 条件パターン 
RewriteRule   URLパターン '/'から始まるパス [PT]

LoadModule rewrite_module "/opt/FJSVahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteCond   テスト文字列 条件パターン 
RewriteRule   URLパターン '/'から始まるパス [PT]

注意

  • CGIプログラムへのパスにリダイレクトする場合は、CGIプログラム実行の許可も設定する必要があります。設定方法については、「3.28 CGIプログラム実行許可の設定」を参照してください。

  • Servletサービスのアプリケーションに対するリクエストを書き換える場合は、上記のディレクティブを<Location>セクションの中に設定してください。


設定方法5

指定した「URL」/「URLパターン」を、静的コンテンツ/Servletサービスのアプリケーション/CGIプログラムへのパスに外部リダイレクトする場合、以下のどちらかの方法で設定します。

Redirect URL "http://"から始まるパス

RedirectMatch URLパターン "http://"から始まるパス

注意

  • CGIプログラムへのパスにリダイレクトする場合は、CGIプログラム実行の許可も設定する必要があります。設定方法については、「3.28 CGIプログラム実行許可の設定」を参照してください。

  • Servletサービスのアプリケーションに対するリクエストを書き換える場合は、上記のディレクティブを<Location>セクションの中に設定してください。


設定方法6

指定した「URLパターン」の書換え条件を満たすリクエストを、静的コンテンツ/Servletサービスのアプリケーション/CGIプログラムへのパスに外部リダイレクトする場合、以下の方法で設定します。

LoadModule rewrite_module "C:/Interstage/F3FMahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteRule   URLパターン "http://"から始まるパス [R]

LoadModule rewrite_module "/opt/FJSVahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteRule   URLパターン "http://"から始まるパス [R]

RewriteCondディレクティブを使用して書換え条件を追加する場合は、以下の方法で設定します。

LoadModule rewrite_module "C:/Interstage/F3FMahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteCond   テスト文字列 条件パターン 
RewriteRule   URLパターン "http://"から始まるパス [R]

LoadModule rewrite_module "/opt/FJSVahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteCond   テスト文字列 条件パターン 
RewriteRule   URLパターン "http://"から始まるパス [R]

注意

  • CGIプログラムへのパスにリダイレクトする場合は、CGIプログラム実行の許可も設定する必要があります。設定方法については、「3.28 CGIプログラム実行許可の設定」を参照してください。

  • Servletサービスのアプリケーションに対するリクエストを書き換える場合は、上記のディレクティブを<Location>セクションの中に設定してください。


設定方法7

指定した「URL」/「URLパターン」を、静的コンテンツ/Servletサービスのアプリケーション/CGIプログラムへのパスに外部リダイレクトする場合、以下のどちらかの方法で設定します。

Redirect URL "https://"から始まるパス

RedirectMatch URLパターン "https://"から始まるパス

注意

  • CGIプログラムへのパスにリダイレクトする場合は、CGIプログラム実行の許可も設定する必要があります。設定方法については、「3.28 CGIプログラム実行許可の設定」を参照してください。

  • Servletサービスのアプリケーションに対するリクエストを書き換える場合は、上記のディレクティブを<Location>セクションの中に設定してください。


設定方法8

指定した「URLパターン」の書換え条件を満たすリクエストを、静的コンテンツ/Servletサービスのアプリケーション/CGIプログラムへのパスに外部リダイレクトする場合、以下の方法で設定します。

LoadModule rewrite_module "C:/Interstage/F3FMahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteRule   URLパターン "https://"から始まるパス [R]

LoadModule rewrite_module "/opt/FJSVahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteRule   URLパターン "https://"から始まるパス [R]

RewriteCondディレクティブを使用して書換え条件を追加する場合は、以下の方法で設定します。

LoadModule rewrite_module "C:/Interstage/F3FMahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteCond   テスト文字列 条件パターン 
RewriteRule   URLパターン "https://"から始まるパス [R]

LoadModule rewrite_module "/opt/FJSVahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteCond   テスト文字列 条件パターン 
RewriteRule   URLパターン "https://"から始まるパス [R]

注意

  • CGIプログラムへのパスにリダイレクトする場合は、CGIプログラム実行の許可も設定する必要があります。設定方法については、「3.28 CGIプログラム実行許可の設定」を参照してください。

  • Servletサービスのアプリケーションに対するリクエストを書き換える場合は、上記のディレクティブを<Location>セクションの中に設定してください。


設定方法9

指定した「URLパターン」の書換え条件を満たすリクエストをプロキシ要求とみなし、静的コンテンツ/Servletサービスのアプリケーション/CGIプログラムへのパスに変換してWebサーバに転送する場合、以下の方法で設定します。

LoadModule rewrite_module       "C:/Interstage/F3FMahs/modules/mod_rewrite.so"
LoadModule proxy_module         "C:/Interstage/F3FMahs/modules/mod_proxy.so"
LoadModule proxy_http_module    "C:/Interstage/F3FMahs/modules/mod_proxy_http.so"

RewriteEngine On
RewriteRule   URLパターン "http://"から始まるパス [P]

LoadModule rewrite_module       "/opt/FJSVahs/modules/mod_rewrite.so"
LoadModule proxy_module         "/opt/FJSVahs/modules/mod_proxy.so"
LoadModule proxy_http_module    "/opt/FJSVahs/modules/mod_proxy_http.so"

RewriteEngine On
RewriteRule   URLパターン "http://"から始まるパス [P]

RewriteCondディレクティブを使用して書換え条件を追加する場合は、以下の方法で設定します。

LoadModule rewrite_module       "C:/Interstage/F3FMahs/modules/mod_rewrite.so"
LoadModule proxy_module         "C:/Interstage/F3FMahs/modules/mod_proxy.so"
LoadModule proxy_http_module    "C:/Interstage/F3FMahs/modules/mod_proxy_http.so"

RewriteEngine On
RewriteCond   テスト文字列 条件パターン 
RewriteRule   URLパターン  "http://"から始まるパス [P]

LoadModule rewrite_module       "/opt/FJSVahs/modules/mod_rewrite.so"
LoadModule proxy_module         "/opt/FJSVahs/modules/mod_proxy.so"
LoadModule proxy_http_module    "/opt/FJSVahs/modules/mod_proxy_http.so"

RewriteEngine On
RewriteCond   テスト文字列 条件パターン 
RewriteRule   URLパターン  "http://"から始まるパス [P]

注意

  • CGIプログラムへのパスに変換する場合は、CGIプログラム実行の許可も設定する必要があります。設定方法については、「3.28 CGIプログラム実行許可の設定」を参照してください。

  • Servletサービスのアプリケーションに対するリクエストを書き換える場合は、上記のディレクティブを<Location>セクションの中に設定してください。


設定方法10

指定した「URLパターン」の条件を満たすリクエストを、ステータスコード「403」(Forbidden)で応答してアクセスを拒否する場合、以下の方法で設定します。

LoadModule rewrite_module "C:/Interstage/F3FMahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteRule   URLパターン - [F]

LoadModule rewrite_module "/opt/FJSVahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteRule   URLパターン - [F]

RewriteCondディレクティブを使用して条件を追加する場合は、以下の方法で設定します。

LoadModule rewrite_module "C:/Interstage/F3FMahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteCond   テスト文字列 条件パターン 
RewriteRule   URLパターン - [F]

LoadModule rewrite_module "/opt/FJSVahs/modules/mod_rewrite.so"

RewriteEngine On
RewriteCond   テスト文字列 条件パターン 
RewriteRule   URLパターン - [F]

注意

Servletサービスのアプリケーションに対するリクエストを書き換える場合は、上記のディレクティブを<Location>セクションの中に設定してください。


参考

関連ディレクティブ