ApacheでURLを読み替える方法

Pocket

PHPを使う場合、パラメータがあるURLは一般に次のようになります。
http://stabucky.com/test/index.php?word=food
Apacheを使ったサーバで、一部を省略して次のようにしても同じページが開くようにします。
http://stabucky.com/test/word/food

.htaccessを使います。
.htaccessはファイル名が「.htaccess」であるテキストファイルです。

.htaccessに次のように書きます。

RewriteEngine on
RewriteRule ^word\/(.+)$ index.php?word=$1 [L]

「RewriteEngine on」で書き換えができるようになります。
「RewriteRule A B」で「A」を「B」に書き換えます。正規表現が使えます。
「[L]」は最後を示します。

.htaccessを「http://stabucky.com/test/」のディレクトリに置きます。
このとき「http://stabucky.com/test/{対象文字列}」の対象文字列の部分が書き換えの対象になります。
上の例では「word/food」が書き換えの対象になります。
RewriteRuleの「^word\/(.+)$」に一致するので書き換えられます。括弧内は「food」です。これは「$1」で取得できるので「index.php?word=food」になります。

これでURLとして
http://stabucky.com/test/word/food
を与えると
http://stabucky.com/test/index.php?word=food
として処理されます。
したがってPHPのコードでは「$_GET["word"]」としてパラメータ「food」を取得することができます。

[ 2015年7月12日 | カテゴリー: PHP | タグ: , , , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報