Here is some clarification.
A server path is used for the filesystem on the machine running the web site.
A url-path is used in the URL requested by a web client.
These are two different namespaces, but they both have absolute and relative versions of paths.
Absolute paths start with something that indicates the top-most level of a hierarchy, for both server and url-paths this is / - and the name parts, separated by /, follow the path to the target.
Examples: an absolute server path will be /home/USERNAME/domain.com/theme/styles.css
And an absolute url-path will be /theme/styles.css (http://domain.com[b]/theme/styles.css[/b])
So your header PHP code can certainly output HTML with URLs using an absolute url-path, and the same CSS file will be loaded despite where the PHP script is loaded from on the site. However when looking at your original post it appears you are saying that in your HTML you are using an absolute server path. That won't work, HTML and HTTP don't use server paths.