【チートシート】JavaScriptとPHPでURL関連の取得方法まとめ
JavaScriptとPHPでURLを取得する時に毎回書き方をぐぐっていたので、まとめました。
まとめ(コンパクトvar.)
JavaScript | PHP | |
URL全体 | location.href | (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] |
パス | location.pathname | strstr($_SERVER['REQUEST_URI'], '?', true) |
パラメータ (全て) |
location.search | strstr($_SERVER["REQUEST_URI"], '?') |
パラメータ (特定キー) |
const params = new URL(location.href).searchParams; params.get('キー名') |
$_GET['キー名'] |
プロトコル | location.protocol | (empty($_SERVER['HTTPS']) ? 'http' : 'https') |
ドメイン (ポート番号含む) |
location.host | $_SERVER['HTTP_HOST'] |
ドメイン | location.hostname | $_SERVER['SERVER_NAME'] |
ポート番号 | location.port | $_SERVER['SERVER_PORT'] |
ハッシュ(#xxxの部分) | location.hash | - |
まとめ(取得サンプルありvar.)
取得サンプルのURLはhttps://domain.com/xx/?hoge=aaaとします。
JavaScript | PHP | |
URL全体
https://domain.com/xx/?hoge=aaa |
location.href | (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] |
パス
/hoge |
location.pathname | strstr($_SERVER['REQUEST_URI'], '?', true) |
パラメータ(全て) ?hoge=aaa |
location.search | strstr($_SERVER["REQUEST_URI"], '?') |
パラメータ(特定キー) aaa |
const params = new URL(location.href).searchParams; params.get('キー名') |
$_GET['キー名'] |
プロトコル https |
location.protocol | (empty($_SERVER['HTTPS']) ? 'http' : 'https') |
ドメイン(ポート番号含む) domain.com |
location.host | $_SERVER['HTTP_HOST'] |
ドメイン domain.com |
location.hostname | $_SERVER['SERVER_NAME'] |
ポート番号 (値無し) |
location.port | $_SERVER['SERVER_PORT'] |
ハッシュ(#xxxの部分) | location.hash | - |