我想在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链接,这是同样的问题。必须有一个解决方案,允许开发人员构建一个&#34;一个&#34;站点的版本并将其移动到ISP的服务器而不更改所有路径命令。我一直在寻找答案,但到目前为止我还没有找到解决方案。
答案 0 :(得分: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" />