• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:外部サイトへアクセスする際によく多くのサイトで見受けられる「ここから先)

サイトへのアクセス方法とURL引数の問題

このQ&Aのポイント
  • 外部サイトへのアクセス時にワンクッションを置く方法と、URL引数の問題について説明します。
  • 外部サイトへアクセスする際に多くのサイトで見かける「ここから先は外部サイトです」というワンクッションの設定方法を説明します。
  • URL引数が含まれる場合のジャンプ先URLの正確な設定方法について、他のサイトを参考に説明します。

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

  • ベストアンサー
noname#112057
noname#112057
回答No.3

クッションページURL?転送先URL で飛ぶクッションページの方が作るのに楽です。 $_SERVER["QUERY_STRING"]が転送先のURLになります。 参考 http://xn--u8jxb9ib9150b2px.jp/php/cushion.html こんな感じ。 >ジャンプ先のURLに引数が含まれている場合(例:http://bbb.com/?year=2010&month=04&day=29など)ジャンプが正しくできません。 http://xn--u8jxb9ib9150b2px.jp/php/php/cushion.php?http://bbb.com/?year=2010&month=04&day=29 問題なく転送されます。

その他の回答 (2)

  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.2

PATH_INFOです。 URLでPHPファイルの直後に/を付けた場合、その/以降の部分が PHPスクリプトからは $_SERVER[PATH_INFO] で参照できます。 ただし、 > http://aaa.com/http://bbb.com/?year=2010&month=04&day=29 この形式で「引数はPATH_INFOにしてPHPを起動する」ように指示するのは一手間かかるので、出来ることなら http://aaa.com/redirect.php/http://bbb.com/ と、URLにPHPまで指定するようにしたほうが良いでしょう。 どうしても、PHPファイルを指定しない、http://aaa.com/http://bbb.com/?year=2010&month=04&day=29 という形式を使いたいのでしたら、 Apacheなら mod_rewriteを使うなど、PHPを起動するためのURL書き換えが必要です。 (http://aaa.com/?id=http://bbb.com/ の場合は、引数を取り除いた部分は http://aaa.com/ なので、DirectoryIndex でPHPを起動させることが一目瞭然ですが、 http://aaa.com/http://bbb.com/ のスタイルでは、 http://aaa.com/aaa/bbb.html みたいな通常のURLアクセスと、WWWサーバ側では区別がつかないため、 そういった条件判定を .htaccess に組み込む必要が出てきます。

  • Hohenheim
  • ベストアンサー率18% (43/237)
回答No.1

GET渡しする前に、urlencode関数を使ってURLエンコードすべきです。 例: http://aaa.com/http://bbb.com/?year=2010&month=04&day=29 ↓ http%3A%2F%2Faaa.com%2Fhttp%3A%2F%2Fbbb.com%2F%3Fyear%3D2010%26month%3D04%26day%3D29 取得したURLエンコード文字列は、urldecode関数でデコードします。

関連するQ&A