• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:cookieとhtaccessをつかったページ移行)

cookieとhtaccessを使ったページ移行の方法

このQ&Aのポイント
  • cookieとhtaccessを使ったページ移行を考えています。http://www.abc.oo/abc/aaa.php?user_id=5へアクセスした際に、htaccessでリダイレクトさせます。
  • クッキーが有効な場合は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へのリンクをつけたいと思っています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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.html
harrygogo
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A