Wszystko co jest po hashu, jest obsługiwane wyłącznie po stronie przeglądarki i informacje te nie są przesyłane na serwer. W taki sposób nie da się uzyskać pełnego adresu – to byłoby możliwe jedynie po stronie przeglądarki, w JS (location.href).
Co więcej, PHP_SELF niekoniecznie zwróci nam poprawny adres. Taki natomiast zawsze będzie w $_SERVER[ 'REQUEST_URI' ].