PHPで現在アクセスされているページのURLを取得する

PHPで現在表示しているページのURLを取得する方法のメモ。
これもよく使うのですが、よく忘れるのでメモしておきます。

現在のページ自体は次の方法で取れます。

print($_SERVER["REQUEST_URI"]);

これだけだとホスト名が分かりません。
ホスト名も取得する場合は次のような感じになります。

print($_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);

さらに、http か https かプロトコルを判定するには $_SERVER[“HTTPS”] をチェックします。httpsの場合は空以外になるので、次のような感じになります。

print((empty($_SERVER["HTTPS"]) ? "http://" : "https://") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);

これで、一応現在ページのURLが取得できます。

HTTPのLocationヘッダー等は本来絶対パスでないといけないので、上記の$_SERVER変数を組み合わせて生成するといい感じです。

—-2013-09-20追記—-
プロトコルの取得について追記・加筆しました。

Twitterでも情報配信中!




コメントを残す

メールアドレスが公開されることはありません。



次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

※コメントは承認制です。承認されるまで表示されません。