mod-rewrite チュートリアル
mod-rewriteの使い方
サーチ…
備考
mod_rewriteはApache用のモジュールです。このモジュールは、内部リライト(別のリソースをロードする外部要求)と外部リダイレクト(クライアントが別のURLを要求するようにする外部要求)に使用されます。
mod_rewriteはmod_aliasよりも内部の書き換えを細かく制御します。後者は要求をファイル名にしかマップできません。 mod_rewriteはアクセス制御の手段を提供しますが、これは通常、 mod_authz_coreとmod_authz_hostを使用する方が良いでしょう。 mod_rewriteはmod_proxyといくつかの統合を提供しますが、パフォーマンス上の理由からこの統合は使用しないでください。代わりに、後者のモジュールのProxyPass
とProxyPassMatch
を使用する必要があります。
mod_rewriteは、ディレクティブを動的(.htaccess)構成ファイルに配置できるように設定できます。パフォーマンス上の理由から、可能な限り静的(httpd.conf)構成ファイルを常に使用する必要があります。
バージョン
バージョン | 発売日 |
---|---|
2.2 | 2015-07-17 |
2.4 | 2016-07-05 |
インストール
mod_rewriteは、Apacheサーバーで使用する前に有効にする必要があります。
Debian / Ubuntu
a2enmod rewrite
実行する
次に、 service apache2 restart
restartでApacheをservice apache2 restart
一般的なケース
静的構成ファイル( httpd.conf
など)に次の行を追加またはコメント解除します。
LoadModule rewrite_module modules/mod_rewrite.so
その後、Apacheを再起動します。
静的構成ファイルでのmod_rewriteの使用
ほかのmod_rewriteディレクティブ(RewriteRule、RewriteCond、RewriteBaseまたはRewriteMap)を使用する前に、次のディレクティブを追加してください。
RewriteEngine on
デフォルトでエンジンはオフになっています。エンジンがオフになっている間に見つかったmod_rewriteディレクティブは無視されます。仮想ホストを使用している場合は仮想ホストコンテキスト内、または該当する場合は特定のディレクトリコンテキストから有効にします。
動的構成ファイルからのmod_rewriteの使用
重要:動的構成ファイル(.htaccess)を使用することは、大きなパフォーマンスのヒットです。静的構成ファイル(httpd.confなど)にアクセスできる場合は、代わりにその構成ファイルを使用する必要があります。
静的構成ファイルでは、動的な設定ファイルが使用して「のFileinfo」上書きできるようAllowOverride
。このディレクティブはディレクトリコンテキストに配置する必要があります。
AllowOverride FileInfo
動的構成ファイルに使用されるファイル名は、 AccessFileName
ディレクティブによって管理されます。デフォルトでは、動的構成ファイルは.htaccess
という隠しファイルです。
mod_rewriteディレクティブを含む各動的構成ファイルの一番上に、次のディレクティブを追加します。
RewriteEngine on