這裡紀錄如何透過PHP來取得目前網址的相關方式

假設目前有一個網址: http(s)://www .example.com/site/contact.php?uid=123456&class=3

PHP 取得目前網址相關方式

在 PHP 取得網址相關的方式有以下幾個:

<?php
$_SERVER['HTTP_HOST']; // www.exampe.com
$_SERVER['REQUEST_URI']; // /site/contact.php?uid=123456&class=3
$_SERVER['PHP_SELF'];// site/contact.php
$_SERVER['QUERY_STRING'];// uid=123456&class=3

用 php 取得目前完整網址且判斷 http 或 https

這邊須留意的是,網址protocol使用的可能是 https 與 http

因此在取得完整網址,必須要一併考量使用的 protocol判斷

再將網址組合起來:

<?php
$protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$http = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

echo $protocol.$http;// http(s)://www.example.com/site/contact.php?uid=123456&class=3