例如,我正在开展2个项目,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 /之前)因为路由项目试图像文件夹一样访问控制器并从那里获取资源。
听起来像是一个小问题,但我无法弄明白并为自己关闭这个问题,所以每次我需要开发一些东西我一次又一次地发明变通方法:)
答案 0 :(得分:1)
处理此问题的一种好方法是使用一个保存项目路径的常量。这样,您只需编辑该常量即可使路径正确。
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文件。
答案 1 :(得分:1)
您可以在每个项目文件夹中创建.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" />