Lo que hace el include y el require es coger el código e interpretarlo. Pero esto lo hace el script padre, es decir quien hace el include.
Si lo llamas desde
www.dominio.com/carpeta/loquesea.php la ruta que tomará será:
www.dominio.com/carpeta/, por lo que si tiene algún fichero referenciado por ubicación relativa, no funcionará (estará buscando las imágenes en
www.dominio.com/carpeta/gif/ en vez de en
www.dominio.com/gif).
Puedes definir una variable global que sea $URL_BASE o algo parecido y en las rutas utilizar la ruta entera, en vez de relativa.