IPでのアクセスをドメインに変換など、htaccess メモ

以外に使うと思うのでメモ


RewriteCond %{HTTP_HOST} ^(12\.34\.567\.891)(:80)? [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

あと、QueryString付きのURLを変換するばあいURIとQueryString両方に
マッチさせないと行けないのでRedirect parmanent だとだめなんすね。

例:id=10 のURL をid=100のURLにリダイレクトさせる。


RewriteCond %{REQUEST_URI} ^/hoge/index.php$ [NC]
RewriteCond %{QUERY_STRING} ^id=10 [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/hoge/index.php?id=100 [R,L]

このように3行も書いてあげる必要があって、意外に面倒です。

ちなみに条件は、デフォルトでANDです。
[NC]はno caseの意味で、大文字小文字を無視するという事ですね。