子文件夹中的Web项目开发

时间:2013-08-28 12:01:24

标签: php html frameworks path

例如,我正在开展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 /之前)因为路由项目试图像文件夹一样访问控制器并从那里获取资源。

听起来像是一个小问题,但我无法弄明白并为自己关闭这个问题,所以每次我需要开发一些东西我一次又一次地发明变通方法:)

2 个答案:

答案 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" />