引用脚本生成的HTML中的.css和图像

时间:2011-06-10 11:52:36

标签: html apache cgi

我在主目录中有一个带有静态HTML页面的站点。这些HTML页面使用相对路径来引用图像,css和链接,即

<img src="images/myimg.gif">

<a href="contactUs.html">Contact Us</a>

我还有一个单片脚本,其URL为http://mysite.com/myScript,它使用“额外路径信息”来选择功能......即http://mysite.com/myScript/products显示产品列表。因此,在从脚本生成的HTML中,我需要引用图像,css和链接,如下所示:

<img src="../images/myimg.gif">

<a href="../contactUs.html">Contact Us</a>

问题是现在我想开始将常见的HTML移动到include文件中(例如,常见的页眉和页脚),但是脚本和静态HTML以不同方式引用相关资源的事实使事情复杂化

我不想使用绝对路径,因为当她试图在DramWeaver的页面上工作时会弄乱我的同事的工作,这也会使网站不那么灵活。

解决此问题的最佳方法是什么?我的一个想法是在Apache中使用URL重写以允许http://mysite.com/products的URL真正使用http://mysite.com/myScript/products,但我没有URL重写的经验,所以我不知道这是多么容易。我的另一个想法是在HTML中使用META BASE属性,但我不喜欢这样的事实,即我必须将其硬编码到每个HTML页面中,并且必须将完整的URL硬编码(例如http://mysite.com/)到每一个。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

你不能在开头用斜线引用你的图像,所以链接到的所有文件都来自root,无论你在目录结构中有多深? E.g:

<img src="/images/myimg.gif" />

编辑:

您可以使用$_SERVER获取路径,然后使用substr_count计算路径中的斜杠数。根据您的需要添加尽可能多的../个数字。这对你有用吗?