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でも情報配信中!




コメントを残す

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



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