レンタルサーバ(XREA)を使ってサイトを作っています。

iPhone、ガラケーでページを振り分けるためにhtaccessを使おうとしています。
iPhone用URLへの書き換えはうまくいくのですが、ガラケー用に作成したサイトへのリダイレクトがうまくいきません。
やりたい書き換えは以下になります。
 ・http://hoge.com/にガラケーよりアクセスされた場合は、TOPページのhttp://other.hoge.jp/s/i/75/
 ・http://hoge.jp/2 のように最後尾にパラメータが付いた場合に、http://other.hoge.jp/s/i/123/といった該当するページへ
ちょっとヤラシイのが、アクセスされたURLについてパラメータをそのまま後方参照で書き換え先URLに$1で渡してあげれるといいのですが、全く別のサーバにサイトが存在しており、ページパラメータも自由に変更できないのでベタにURLを書くような形でやろうとしているのが現状です。
以下のようなURL書き換えをやろうとしています。
 ・http://hoge.jp/1  -> http://other.hoge.jp/s/i/122/
 ・http://hoge.jp/2  -> http://other.hoge.jp/s/i/123/
 ・http://hoge.jp/3  -> http://other.hoge.jp/s/i/124/
   (以下、繰り返し続く)

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2010/10/05 22:39:40
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:Galapagos No.1

回答回数963ベストアンサー獲得回数89

どこまでをガラケーと判断するのかによるので、アクセスしてきた端末のUser-Agentで識別するしかないと思います。

id:hellon999

質問の情報足らずですいません。

以下のソースで★の箇所の記述がうまくいかず困っています。

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} iPhone

RewriteRule ^$ http://www.hoge.com/i/ [R,L]

→動作OKです。

RewriteCond %{HTTP_USER_AGENT} iPhone

RewriteRule ^([0-9]+) http://www.hoge.com/i/spots.php?rnum=$1 [R,L]

→こちらも動作OKです。

RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOKET|UP.Browser|J-PHONE|Vodafone|SoftBank)

RewriteRule ^$ http://other.hoge.jp/s/i/75/ [L]

→同じく動作OKです。

RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOKET|UP.Browser|J-PHONE|Vodafone|SoftBank)

RewriteRule [ ここの記述が色々試しましたがダメでした。★ ]

→NGです。

 i-Modeよりアクセスすると[404 指定されたページが見つかりません]エラーが返ってしまいます。

[ダメな例]

 RewriteRule ^hoge.com/2$ other.hoge.jp/s/i/123/ [L]

 →404エラー

 RewriteRule ^hoge.com/2/$ other.hoge.jp/s/i/123/ [L]

 →404エラー

 RewriteRule 1(.*) http://other.hoge.jp/s/i/123/ [L]

 →404エラー

2010/10/04 14:36:23
id:fenstrial No.2

回答回数57ベストアンサー獲得回数14

ポイント70pt

RewriteRule ^2 http://other.hoge.jp/s/i/123/ [R]

でどうでしょう

id:hellon999

以下でうまくいきました。

ありがとうございます。

RewriteRule ^2$ http://other.hoge.jp/s/i/123/ [R]

ちなみに根本的な原因は、どうやらドメインの設定がよくなかったようでそちらも合わせて変えたことでうまくいきました。

2010/10/05 22:38:52

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません