アプリ版:「スタンプのみでお礼する」機能のリリースについて

cookieとhtaccessをつかったページ移行を考えております。

内容ですが、

http://www.abc.oo/abc/aaa.php?user_id=5
へアクセスした際に htaccessで 
http://www.abc.oo/cookie.php へリダイレクトさせ、
クッキーが有効な場合は
http://www.abc.oo/abc/aaa.php?user_id=5へリダイレクト
クッキーが無効の場合は
http://www.abc.oo/555.html というURLを表示させ、
555.html ファイル内に 進むボタンをつけ
http://www.abc.oo/abc/aaa.php?user_id=5へのリンクをつけたいと
思っております。

cookie.phpでクッキーを取得することは出来たのですが、
どのようにして、?user_id=5 の部分のURLを持ちまわるのかが
分かりません。

どなたかお分かりになられる方、ご教授お願いできませんでしょうか?
よろしくお願いいたします。

A 回答 (1件)

全く文面どおりの事は、思いつきませんが以下の動作でいかがでしょうか?


1. http://hoge.example.com/abc/user_5.html と言うURLにアクセスする
  (5 の部分は 0~9999など連続した数字ならいくつでも)

2. cookie に 例として test01 と言う値が含まれている場合
   表示されるURLはそのまま http://hoge.example.com/abc/user_5.html で実は
   http://hoge.example.com/abc/aaa.php?user_id=5 にアクセスさせる

3. cookie に test01 が無い場合
  表示される URLは http://hoge.example.com/test_5.html だが実態は
   http://hoge.example.com/cookie.php?user_id=5 にアクセス
  cookie.php の内部で QUERY_STRINGとして user_id=5 と言う値が取得可能ですから
  ご希望のURLへのリンクを表示することも可能かと思います

### 以下 .htaccess の中身 行頭に # が付く行はコメントなので動作には無関係
RewriteEngine on
### 以下ユーザーIDが 5 の場合

# ↓HTTP_COOKIE を確認する
RewriteCond %{HTTP_COOKIE} test01
RewriteRule ^abc/user_([0-9]+)\.html$ /abc/aaa.php?user_id=$1 [L]
RewriteRule ^abc/user_([0-9]+)\.html$ /test_$1.html [R]
## ↑ cookie に test01 が有れば
# /abc/user_5.html というURLのまま /abc/aaa.php?user_id=5 にアクセス
###無ければ /test_5.html にリダイレクト

RewriteRule ^test_([0-9]+)\.html$ /cookie.php?user_id=$1 [L]
# ↑ /test_5.html と言うURLを表示しつつ /cookie.php?user_id=5 にアクセス
#### 以上まで .htaccess

参考URL:http://httpd.apache.org/docs/2.2/mod/mod_rewrite …
    • good
    • 0
この回答へのお礼

大変参考になりました。 有難うございました。

お礼日時:2008/07/04 19:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!