- ベストアンサー
.htaccessでのリダイレクト分岐方法
お世話になります。 .htaccessに以下の記述をしてリダイレクトしているのですが、 $1の値によってリダイレクトさせたくない場合、 どのように記述すればよいのでしょうか。 RedirectMatch permanent /abc/(.*)\.jpg$ http://hoge.com/data/$1.jpg $1の値は数字で1000以下の場合のみ先頭に0がつきます。 (500の場合は0500など) これをたとえば$1の値が0300以上(1000以下なので先頭に0がついた数値になります) ならリダイレクトさせたくないと言った事は可能でしょうか。 ・/abc/(.*)\.jpgの部分から$1の値を取得する ・取得した値で先頭に0がつく場合はまず0を排除 if($1 <= 300) { RedirectMatch permanent /abc/(.*)\.jpg$ http://hoge.com/data/$1.jpg } みたいな感じになると思うのですが、.htaccessでの記述方法がわかりません。 お手数をおかけしますがご教授いただけますと幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
0001等の一桁や二桁も存在して、先頭の0のみ排除するのでしたら、 RewriteEngine on RewriteRule ^abc/0([0-2][0-9][0-9])\.jpg$ http://hoge.com/data/$1.jpg [R=301,L] 0001等の一桁や二桁も存在して、先頭の連続する0を排除するのでしたら、 RewriteEngine on RewriteRule ^abc/0([1-2][0-9][0-9])\.jpg$ http://hoge.com/data/$1.jpg [R=301,L] RewriteRule ^abc/00([1-9][0-9])\.jpg$ http://hoge.com/data/$1.jpg [R=301,L] RewriteRule ^abc/000([0-9])\.jpg$ http://hoge.com/data/$1.jpg [R=301,L] 一桁や二桁はなく、100以上299未満なら RewriteEngine on RewriteRule ^abc/0([1-2][0-9][0-9])\.jpg$ http://hoge.com/data/$1.jpg [R=301,L] でいけそうな気がしますが試していません。
- 参考URL:
- http://webings.net/htaccess/
その他の回答 (1)
- taka451213
- ベストアンサー率47% (436/922)
こんばんは。 http://japache.infoscience.co.jp/rewriteguide/ ここにIF文の書き方が書いてます。 全部説明するのは難しい・・・。
お礼
大変おそくなってしまい申し訳ありません。 ご紹介いただいたページを参考に色々やってみたのですが 未熟な点で応用がきかずどうしてもエラーになってしまう状態で出来ませんでした。 詳細ページをご紹介いただきありがとうございました。
お礼
大変遅くなってしまいまして申し訳ありません。 お忙しい中ご回答いただきありがとうございます。 おかげさまで出来ました。 どうしてもわかりませんでしたのでとても助かりました。 本当にありがとうございました。