ApacheのRewriteでメソッドの種類を条件にした時の書き方

久々にApacheのmod_rewriteをこねこねしたので、その備忘録。

Apacheのmod_rewriteはかなり柔軟な指定をすることができ、それ故に”黒魔術”と呼ばれることもあります。
そんなmod_rewriteですが、プログラムを介することなくGET/POSTなどのメソッドに応じてリダイレクトさせることが可能です。

書き方としては

RewriteCond %{REQUEST_METHOD} ^(メソッド名)$

こんな感じです。
例えば、POSTの時だけリダイレクトしたいのであれば

RewriteEngine On 

RewriteCond %{REQUEST_METHOD} ^(POST)$
RewriteRule ^(.*)$ /post/only/path%{REQUEST_URI} [R=301,L]

のように書けます。

Rewriteは非常にたくさんのオプションを指定でき、柔軟に振り先を分けることができます。

Apacheのmod_rewriteモジュールの使い方を徹底的に解説 – OXY NOTES

ただし、誤った設定をしてしまうと、リダイレクトループに陥ってしまい、ページが表示できなくなってしまうこともよくあります。
すでに動いているサイトなどでは十分に注意して使用してくださいね。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG