浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

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

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

  • この記事いいね! (0)