tôi có thể nhìn thấy một lý do muốn có thế hệ con đường năng động và tương đối cho các liên kết href, và đó là nếu bạn chạy dự án của bạn trên nhiều tên miền hoặc trang web có những con đường khác nhau. (Ví dụ: dự án của bạn có sẵn trên http://myproject.example.org/ và cũng trên http://example.org/myprojecttest/).Nếu đây không phải là trường hợp, tôi sẽ đề nghị trực tiếp xác định css của bạn bao gồm tương đối so với thư mục gốc:
<link href="/css/style.css" />
Nếu điều này không áp dụng đối với bạn, hãy thử này:
Trong mọi tài liệu cấp cao nhất yêu cầu header.php, thêm biến $ ROOT cho biết vị trí của tài liệu cấp cao nhất so với gốc. ví dụ:
$ROOT = './';
hoặc
$ROOT = '../';
hoặc
$ROOT = '../../';
Bây giờ, trong file header.php của bạn, bạn có thể sử dụng:
<link href="<?php echo $ROOT; ?>css/style.css" />
Điều này cho phép bạn thực hiện tệp header.php sẽ hoạt động cho bất kỳ trang nào tại bất kỳ đường dẫn tương đối nào.
Full Ví dụ
bao gồm tập tin (/path/header.php)
<html><body>
<head>
<link href="<?php echo $ROOT; ?>css/style.css" />
[...]
Tập 1 (/path/index.php):
<?php
$ROOT = './';
include 'header.php';
?>
Tập 1 (/path/admin/index.php):
<?php
$ROOT = '../';
include '../header.php';
?>
Tập 3 (/path/admin/test/magic.php):
<?php
$ROOT = '../../';
include '../../header.php';
?>
Tại sao không sử dụng đường dẫn liên quan đến miền của bạn, chẳng hạn như '/ styles/your.css' –
Sử dụng liên kết đầy đủ cho CSS trong tệp header.php của bạn – Adsy2010