Comment puis-je sélectionner seulement le domaine root à partir de $ SERVER['HTTP REFERER']?

je veux avoir une page 404 qui peut détecter si un utilisateur est venu à cette page soit via mon site, via mon URL raccourci ou via un autre site, et je le fais en utilisant PHP. Je commence lentement à me familiariser avec PHP et cela pourrait bien être une question simple, mais je suis assez fatigué pour être honnête et n'ai pas de caféine dans mon système, et je veux régler tous les détails dans mon portfolio dès que possible.

j'ai trouvé $_SERVER['HTTP_REFERER']; la variable PHP me donne L'URL entière, qui est commencer. Est-ce qu'il y a un moyen que cela puisse me donner seulement le domaine racine, soit via une autre variable ou une fonction, en gardant à l'esprit que certains referrers peuvent utiliser http:// et quelques https:// (donc simplement partir du septième caractère ne fonctionnerait pas toujours)? De cette façon, je peux faire correspondre L'URL basée sur deux (ou plus) adresses prédéfinies et produire le contenu qui se rapporte à ce domaine.

25
demandé sur Nathan Bunn 2012-01-29 04:52:53
la source

3 ответов

parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST)

voir http://php.net/manual/en/function.parse-url.php.

notez cependant que le referer est terrifiquement facile à mystifier, donc il est à peine fiable.

42
répondu deceze 2012-01-29 04:55:40
la source

http://php.net/manual/en/function.parse-url.php peut-être votre meilleur pari, mais vous pouvez utiliser une expression régulière pour atteindre ce que vous cherchez facilement.

3
répondu Dan LaManna 2012-01-29 04:55:29
la source

ceci devrait faire :

 $_SERVER['SERVER_NAME']
0
répondu Matoeil 2016-01-07 12:29:14
la source

Autres questions sur