apacheのリダイレクトの方法あれこれ
リダイレクトは例えば.htaccessで
Redirect permanent /foo/ http://www.example.com/bar/
こんな風に書いたりするが
apacheにmod_rewriteのモジュールが入っていれば、条件指定が出来るようになる
つまりこんな書き方が出来るようになる。
# 機種判別用の変数定義 (window phoneとか入って無いけどそれはアレってことで SetEnvIf User-Agent "iPhone" UA=sp SetEnvIf User-Agent "Android" UA=sp # URLに/sp/ が含まれていたら RewriteCond %{REQUEST_URI} ^/sp/ # 上で設定したUAという変数の値がspでなかったら RewriteCond %{ENV:UA} !^sp$ # リダイレクトの場合こうする RewriteRule ^sp/(.*)$ http://www.exsample.com/$1 [L] # 自ドメイン内でリダイレクトする場合はこれでも良い RewriteRule ^sp/(.*)$ http://%{HTTP_HOST}$1 [L]
# これだと上手く行かない RewriteRule ^sp/(.*)$ /$1 [L]