【问题标题】:referring to .css and images from script-generated HTML引用脚本生成的 HTML 中的 .css 和图像
【发布时间】:2011-06-10 11:52:36
【问题描述】:

我在主目录中有一个包含静态 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/) 进入每一个。有什么建议吗?

【问题讨论】:

    标签: html apache cgi


    【解决方案1】:

    您不能在开头使用斜线引用您的图像,以便所有链接到的文件都来自根目录,无论您在目录结构中的深度如何?例如:

    &lt;img src="/images/myimg.gif" /&gt;

    编辑:

    您可以使用$_SERVER 获取路径,然后使用substr_count 计算路径中的斜杠数量。根据该数字添加任意数量的../。这对你有用吗?

    【讨论】:

    • 查看我的问题,我说为什么我不想使用绝对路径
    猜你喜欢
    • 2010-09-21
    • 2013-11-30
    • 1970-01-01
    • 2014-06-20
    • 2012-07-03
    • 2013-03-19
    • 2016-02-06
    • 2022-11-15
    • 1970-01-01
    相关资源
    最近更新 更多