php server url http_host request_uri

DiFabio

php server url http_host request_uri

php server url http_host request_uri

php server url http_host request_uri

Spesso ci si trova nella necessità di avere a disposizione del nostro codice php la url e/o la uri della pagina su cui stiam lavorando. Per risolvere questo problema è necessario eseguire il php server url http_host request_uri ovvero la richiesta dell’host e dell’uri della pagina.

Vediamo come fare.

php server url http_host request_uri

Il comando è molto semplice, ed è il seguente:

$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

che darà il seguente output:

[insert_php]
echo $actual_link = “http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]”;
[/insert_php]

Il comando appena elencato non fa altro che assegnare a una variabile, che ne nostro caso si chiama $actual_link (ovviamente potrete chiamarla come meglio credete), i valori di:

  • http:// (che è una valore statico)
  • $_SERVER[HTTP_HOST] (che è l’host su cui è ospitata la pagina. Nel nostro caso sarà www.cliccando.it)
  • $_SERVER[REQUEST_URI] (che è la URI della pagina, ovvero tutto ciò che segue l’host)

Ovviamente non è necessario assegnare una variabile ai valori http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]. SI potrebbe visualizzare il loro contenuto anche con un semplice echo. Vediamo cosa restituisce il comando:

echo http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]; :

[insert_php]
echo “http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]”;
[/insert_php]

Come potete vedere il risultato è il medesimo. Per cui, qualora non vi serva, è inutile assegnare questi valori a una variabile.

Esempi di get url (HTTP_HOST) e get uri (REQUEST_URI)

Vediamo ora un po di esempi.

Cosa succede se richiediamo di visualizzare soltanto l’http_host ?
echo http://$_SERVER[HTTP_HOST];

Il risultato sarà:
[insert_php]
echo “http://$_SERVER[HTTP_HOST]”;
[/insert_php]

E se invece richiedessimo di visualizzare soltanto la REQUEST_URI ?
echo $_SERVER[HTTP_HOST];

Il risultato sarà:
[insert_php]
echo “$_SERVER[REQUEST_URI]”;
[/insert_php]

Ora potete usare questi comandi a vostro piacimento.

Esistono anche altre opzioni per il comando $SERVER:

  • echo $_SERVER[SERVER_NAME];  che mostra: [insert_php]echo $_SERVER[SERVER_NAME];[/insert_php]
  • echo $_SERVER[SERVER_ADDR];  che mostra l’IP del server
  • echo $_SERVER[SERVER_PROTOCOL];  che mostra: [insert_php]echo $_SERVER[SERVER_PROTOCOL];[/insert_php]

La lista è ancora lunga. Vi riporto qui alcune altre opzioni che potrete provare voi stessi:
‘REQUEST_TIME’
‘REQUEST_TIME_FLOAT’
‘QUERY_STRING’
‘DOCUMENT_ROOT’
‘HTTP_ACCEPT’
‘HTTP_ACCEPT_CHARSET’
‘HTTP_ACCEPT_ENCODING’
‘HTTP_ACCEPT_LANGUAGE’
‘HTTP_CONNECTION’
‘HTTP_REFERER’
‘HTTP_USER_AGENT’
‘REMOTE_ADDR’
‘REMOTE_HOST’
‘REMOTE_PORT’

I comandi sono ancora molti. Se volete avere maggiori informazioni vi rimando alla pagina ufficiale di PHP per il comando $server.

Se avete dubbi o incertezze, commentate 🙂

Info sull'autore

Fabio administrator

Appassionato di tecnologia, lavoro nel mondo dell'informatica dal 1999. Mi diletto con PHP e MYSQL e ultimamente mi sono appassionato al mondo SEO ...più per sfida che per necessità. In questo blog voglio condividere con gli utenti quello che imparo, sperando che altri possano trarne "profitto" .

Lascia una risposta