例如,我正在从事两个项目,A& B,这两个项目在未来都将托管在根目录中。Atm我有一个带有默认参数的apache web服务器,我想开始工作,所以我创建了文件夹A和文件夹B,在这里我将存储所有需要的文件。
问题是,当我使用类似于
<script type="text/javascript" src="/resources/scripts/javascript.js" ></script>
<link href="/resources/styles/stylesheet.css" rel="stylesheet" type="text/css" />这两个项目都将从apache根文件夹(httpdocs)调用这个文件,而不是从/a/和/b/文件夹调用。
当我使用PHP框架时,情况会变得更糟,所以我不能仅仅使用
<link href="./resources/styles/stylesheet.css" rel="stylesheet" type="text/css" />(点在/ resources /之前),因为通过路由项目试图像一个文件夹一样访问控制器,并从那里获取资源。
听起来是个小问题,但我无法解决这个问题,因此每次我需要开发一些东西时,我都会一次又一次地发明解决办法:)
发布于 2013-08-28 12:06:43
处理这个问题的一个好方法是使用一个常量来保存项目的路径。那样的话,你只需要编辑这个常量就可以得到正确的路径。
define('BASEDIR', '/a/');
echo '
<script type="text/javascript" src="'.BASEDIR.'resources/scripts/javascript.js" ></script>
<link href="'.BASEDIR.'resources/styles/stylesheet.css" rel="stylesheet" type="text/css" />';这会把你的路变成
<script type="text/javascript" src="./a/resources/scripts/javascript.js" ></script>
<link href="./a/resources/styles/stylesheet.css" rel="stylesheet" type="text/css" />';如果将此常量保存在单独的文件中,则可以将其包含在需要它的位置。例如,处理AJAX请求的php文件。
发布于 2013-08-28 12:15:55
您可以在每个项目文件夹中创建一个.htaccess文件(如果您无法访问httpd.conf)。
ScriptAlias /resources/ "/var/www/html/resources/"
<Directory "/var/www/html/resources/">
#... whatever you want to set here ...
</Directory>然后你可以继续使用
script type="text/javascript" src="/resources/scripts/javascript.js" ></script>
<link href="/resources/styles/stylesheet.css" rel="stylesheet" type="text/css" />https://stackoverflow.com/questions/18487311
复制相似问题