【问题标题】:Relative path in website with sub-directories带有子目录的网站中的相对路径
【发布时间】:2014-05-11 13:20:09
【问题描述】:

我想在我的 Mac 的 apache 服务器上开发项目站点,然后在准备启动时上传到 ISP 服务器。当站点有子目录时,我遇到了麻烦。如果我的链接语句使用相对路径:

<link rel="stylesheet" media="all" href="css/site.css" type="text/css"/>

它不适用于需要的子目录:href="../css/site.css"

如果我使用绝对路径(在 ISP 的服务器上工作):

<link rel="stylesheet" media="all" href="/css/site.css" type="text/css"/>

它不适用于我的 apache 服务器上的子目录。

图片和 javascript 链接也存在同样的问题。必须有一个解决方案允许开发人员构建站点的“一个”版本并将其移动到 ISP 的服务器,而无需更改所有路径命令。我一直在寻找答案,但到目前为止我还没有找到解决方案。

【问题讨论】:

    标签: css image hyperlink path subdirectory


    【解决方案1】:

    这是移植网站的常见问题。我不知道这是否是最佳答案,但我使用服务器端脚本来获取相对根目录并将其用作绝对路径。

    <?php
        $rootaccess = $_SERVER['SUBDOMAIN_DOCUMENT_ROOT'];
        include ($rootaccess.'/_sys/alpha.php');
    ?>
    

    这是 PHP 标头的包含,但它可能对您有用:

    <?php
        $rootaccess = $_SERVER['SUBDOMAIN_DOCUMENT_ROOT'];
    ?>
        <link rel="stylesheet" type="text/css" href="<?php 
             echo $rootaccess;
             ?>/dir1/file.ext" />
    

    【讨论】:

    • 约书亚,我想我在这里进入了更深的水域,但我真的很想解决这个问题。我尝试实现您的代码,特别是第二个版本,但我没有得到任何更改 - 页面仍然没有样式并且 JavaScript 不起作用。您能否详细说明如何实现您的脚本?
    • 这只是一个例子。对于初学者,你可以在你的服务器上使用 PHP 吗?还是您需要使用 JavaScript? SUBDOMAIN_DOCUMENT_ROOT 返回的路径可能不是您需要的。您需要弄清楚在您的服务器上工作的内容。试试 $_SERVER["DOCUMENT_ROOT"]?
    猜你喜欢
    • 2011-12-19
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多