JavaScript

【チートシート】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 -