J'ai besoin de créer un script où il supprimerait le sous-domaine de $ _server ["nom_serveur"] pour l'utiliser sur l'option de domaine de la fonction Setcookie pour permettre l'accès du cookie sur tous les sous-domaines possibles.
Par exemple, disons que j'ai p> le problème principal ici est que je ne connais pas le modèle de mon domaine. Cela pourrait être quelque chose comme: p> merci p> stephanie p> p>
4 Réponses :
est-il possible de définir une variable dans la configuration du serveur (httpd.conf, .htaccess)? Il nécessite un peu d'administration initiale supplémentaire, mais pourrait au moins être effectuée dans un emplacement central.
J'ai pu définir une variable dans Apache P> qui pourrait être consommé en PHP: p>
Ceci est un style de regex d'élimination de la partie sous-domaine à partir du nom de domaine complet.
Le P>
. *? P> blockQuote>
opérateur rend la correspondance générique à être ungredy afin qu'il correspond au premier point. p>
xxx pré> p>
Vous pouvez interroger le service alexa strong> avec CURL et extraire le nom d'hôte strong> sans sous-domaine:
Je sais que c'est des années plus tard, mais pourquoi ne pas aller comme ceci:
$dom='a.b.c.d.co.jp'; $sub=preg_replace("/.*?([^\.]+)(\.((co\.\w+)|\w+))$/i",'\1\2',$dom); //strip subdomains
Vous devrez définir manuellement le motif. Il n'y a pas de règle claire (un TLD peut consister en une partie
.com code> ou deux
.CO.JP code>) Il y a une question sur une liste de la plupart d'entre eux mais je ne peux pas le trouver maintenant
Ceci est venu hier aussi. Stackoverflow.com/Questions/5319296/PHP-URL-PARSING-DISectine g - Il existe une liste complète (Mozilla maintenue) dans le commentaire à la fin.
@Mario: Merci pour votre lien. Je vois que le problème est populaire et impossible de résoudre facilement facilement.
Voir aussi Stackoverflow.com/Questions/3853338/ReMove-Domain-extension / ...
Dupliqué possible de PHP Regex pour extraire des sous-domaines de domaines arbitraires