puedo ver una de las razones para querer tener la generación de ruta dinámica y relativa de los enlaces href, y es que si se ejecuta el proyecto en varios dominios o sitios que tienen diferentes caminos (Por ejemplo, el proyecto está disponible en http://myproject.example.org/ y también en http://example.org/myprojecttest/).Si este no es el caso, sugeriría directamente especificando el CSS incluye relativa a la carpeta raíz:
<link href="/css/style.css" />
Si esto se aplica a usted, intente esto:
En cada documento de nivel superior que requiere header.php, agrega una variable $ ROOT que indica la ubicación del documento de nivel superior en comparación con la raíz. por ejemplo:
$ROOT = './';
o
$ROOT = '../';
o
$ROOT = '../../';
Ahora, en el archivo header.php, puede utilizar:
<link href="<?php echo $ROOT; ?>css/style.css" />
Esto le permite hacer un archivo header.php que funcionará para cualquier página en cualquier ruta relativa.
Ejemplo completa
archivo incluido (/path/header.php)
<html><body>
<head>
<link href="<?php echo $ROOT; ?>css/style.css" />
[...]
File 1 (/path/index.php):
<?php
$ROOT = './';
include 'header.php';
?>
File 1 (/path/admin/index.php):
<?php
$ROOT = '../';
include '../header.php';
?>
File 3 (/path/admin/test/magic.php):
<?php
$ROOT = '../../';
include '../../header.php';
?>
¿Por qué no utilizar rutas relativas a su dominio, como '/ styles/your.css' –
Utilice el enlace completo para el CSS en su archivo header.php – Adsy2010