mod_rewriteの動作を確認する方法
mod_rewriteの動作を確認する方法を紹介します。
1.はじめに
mod_rewriteはウェブサーバApacheのモジュール機能の1つで、アクセスしたURLを指定したルールにしたがって書き替えることができます。
このエントリーでは.htaccessに追加したmod_rewriteの動作を確認する方法を紹介します。
なお、httpd.confの下記の1行が有効になっていることが前提です(直前に有効にした場合、Apacheの再起動が必要)。
LoadModule rewrite_module modules/mod_rewrite.so
2.mod_rewriteを有効にする
mod_rewriteを有効にするには、.htaccessに次のRewriteEngineディレクティブを追加します。
RewriteEngine on
上のようにRewriteEngineディレクティブをonにすることで.htaccessのあるパスでmod_rewriteが有効になります(デフォルトはoff)。
3.mod_rewriteでURLを書き換える
URLを書き換えるには、サンプルとして次のRewriteRuleディレクティブを、RewriteEngineディレクティブの次の行に記述します。
RewriteRule (.+)\.html$ /$1.php [L]
このディレクティブでは、
http://user-domain/test.html
にアクセスすると、
http://user-domain/test.php
に読み替えて実行します。
(.+)\.html$
は正規表現で拡張子が「.html」の拡張子以外の部分を$1に保持します。
/$1.php
が実際にアクセスするURLになり、サンプルでは$1の部分が「test」に置き換わります。
またパス「/」はドキュメントルートを示します。
アクセスURLが
http://user-domain/test/test.html
という風にサブディレクトリがあり、
http://user-domain/test/test.php
の内容を表示させたい場合は、
RewriteRule (.+)\.html$ /test/$1.php [L]
という風に、ドキュメントルートからのパス「test/」を追加する必要があります。
また、[L]は定義の最終行を意味し、これ以降のRewriteRuleディレクティブは無視することを意味します。
Posted by yujiro このページの先頭に戻る
- PHPをビルドしてApacheと連携させる方法
- ApacheのCGIでソースが表示される場合の対処
- Apache 2.4 系をソースからインストール
- 「php_flag short_open_tag off」の意味
- WindowsにApacheを簡単にインストールする方法
- Windows+ApacheでSSLを有効にする方法
- Apacheログのリクエスト時間にミリ秒・マイクロ秒を表示する
- Windows + XAMPP + OpenSSL
- PHP における「モジュール版」と「CGI 版」の比較 + WordPress の適用例
- Apache のチューニング(その3)・DiceによるWindows再起動
- Apache のチューニング(その2)
- Apache のチューニング(その1)
トラックバックURL
コメントする
greeting