You shouldn't be trying to include files over HTTP protocol anyways if the files are in the same home directory even.
What you want to try is a file system pathname.
[pre]<?php include("/home/username/example.com/includes/top-nav.php"); ?>
And make sure /home/username/example.com/includes/top-nav.php exists. If that is not the correct path to that file, then simply edit the path in the call to include()
The url-file access this is a red herring - using a URL is not an "absolute reference"
For some reason it appears that people think the include() function accepts a URI as its parameter. It does not - read the PHP documentation. Its default parameter is a file system pathname, either absolute (beginning with a /) or relative.
Using an absolute URI (begins with scheme like http://) was a feature that when not used carefully makes your site vulnerable to exploits. There is no need to use it all if the files to be included are on the same computer and don't need to be put through a separate HTTP transaction.
Perl / MySQL / HTML+CSS