2011-10-07 5 views
1

Comment puis-je obtenir mon URL actuelle complète en php, mais moins toutes les querystrings?

Exemple

echo 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; 

faire écho quelque chose comme supposant des chaînes de requête étaient en place ...

http://www.example.com/example?tab=foo&dslip=yes 

Comment puis-je obtenir la même chose que ci-dessus, mais tronque toutes les chaînes de requête?

Comment cela est-il fait en php.

Merci.

Répondre

5

PHP_SELF est ce dont vous avez besoin je crois.

echo('http' . ((empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === 'off') ? '' : 's') . '://' . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF']); 

Ou le __FILE__ constante, en fonction de votre configuration exacte et situation.

+0

Qu'en est 'https'? – hakre

+0

alors vous devrez également utiliser $ _SERVER ['HTTPS'], et préfixer le bon protocole en fonction. – lynks

1

Essayez cette

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; 

$part = explode('?',$url); 

echo $part[0]; 
0

Je pense que la solution est la suivante:

echo 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME']; 

$ _SERVER [ 'SCRIPT_NAME'] variables retourne chemin de votre script sans la chaîne de requête comme vous voulez.

si vous voulez voir toutes les variables disponibles en php juste essayer cette

phpinfo(); 

Meilleures salutations

Questions connexes