Ciao a tutti, ho un problema che mi sta facendo diventare matto

Per richiamare un file .css che si trova nella root del mio sito,
da qualsiasi cartella o sotto-cartella basta che digito nel mio file:
codice:
<link href="/index.css" rel="stylesheet" type="text/css" />
invece per includere un file .php che si trova sempre nella root non posso usare lo stesso metodo ovvero:
codice:
include("/connessionedb.php");
ma devo usare:
codice:
include($_SERVER['DOCUMENT_ROOT']."/connessionedb.php");
perché non posso usare semplicemente lo / per includere il .php così come il .css?

noto però che se volessi tornare indietro di 1 directory e leggere un file .css o .php basta digitare ../

allo stesso modo sia per php che per html per tornare indietro di 2 directory basta digitare ../../

So perfettamente che il php è un linguaggio lato server e l'html è lato client però perché per indietreggiare usano la stessa tecnica ma per andare alla root no?

E' normale tutto questo o sbaglio io qualcosa?