在PHP包含的文件中更改基本href

时间:2010-10-27 18:39:48

标签: php html header

我有一个头文件,其中包含html <head>标记。我正在尝试在此文件中设置<base href="/mysite/">,但是当我将其包含在内(例如我的index.php文件中)时,它实际上并没有改变我的基本href。 index.php中的任何绝对网址(例如/css/style.css)都会尝试从host/css/style.css而非主机host/mysite/css/style.css加载。当我使用包含的PHP文件时,它似乎并没有真正改变基础。有什么方法可以解决这个问题而无需返回并对每个URL进行硬编码?

由于

index.php文件

<?php
include('_includes/inc_header.php');

inc_header.php文件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<base href="/mysite/html/" />
<link rel="stylesheet" href="/css/style.css" media="screen"/>

样式表无法加载和查看来源显示它正在尝试从host/css/style.css而不是host/mysite/css/style.css加载

2 个答案:

答案 0 :(得分:1)

您可以在网络服务器中设置虚拟主机,指向/ mysite /作为网站的根目录。

答案 1 :(得分:1)

您需要删除左侧斜线,因此路径应为css/style.css

请注意,基本路径已包含尾部斜杠。您还应该将完整的URL放在base属性中,而不仅仅是目录 -

<base href="http://www.mydomain.com/mysite/html/" />

如果您无法更改链接,则必须将文档根目录设置为该目录或设置虚拟主机。