XAMPP中的根路径

Joh*_*ldo 6 html php apache xampp

我已经有这个问题了一段时间,并且未能成功地搜索到广泛的答案.

 <img src="/images/test.jpg" /> 
Run Code Online (Sandbox Code Playgroud)

从(根路径 - 在我的情况下在LAMP中的生产中)获取图像

 htdocs/images/test.jpg 
Run Code Online (Sandbox Code Playgroud)

是从htdocs/index.php调用它还是从htdocs/foo/bar/index.php调用它

我在开发中使用XAMPP,而在htdocs内部有项目文件夹,所以上面描述的方法虽然可以在live时使用,但我需要将它改为:

<img src="/projectName/images/test.jpg" /> 
Run Code Online (Sandbox Code Playgroud)

在当地工作.

为了使这更简单,我定义了一个常量BASE,我在开发中使用:

define('BASE','/projectname/) 
Run Code Online (Sandbox Code Playgroud)

然后当它生效时,我改为:

define('BASE','/')

<img src="<?php echo BASE;?>images/test.jpg" />
Run Code Online (Sandbox Code Playgroud)

这显然非常烦人,最终导致了几个问题.请有人了解这种情况,我特别想要做的是在我的图像/脚本源中使用根路径但是:

<img src="/images/test.jpg" />
Run Code Online (Sandbox Code Playgroud)

从htdocs/projectName/foo/test.php调用时

寻找图像:

htdocs/projectName/images/
Run Code Online (Sandbox Code Playgroud)

这可能吗?

Chr*_*ris 5

处理此问题的另一种方法是使用虚拟主机.

虚拟主机的作用类似于localhost的第二个版本,专门用于子文件夹.例如,您可以设置Apache,以便在您访问时http://example(无.com或任何内容),它会显示来自的内容http://localhost/example/.所有CSS和JavaScript以及链接都会像在网站的根文件夹中操作一样,因为前导example文件夹已经从URL中删除了.

我找不到我曾经用于XAMPP 的演练,但这里有一个涵盖所有要点的类似演练.它是为Windows编写的,但我想有一些类似的机制可以用于LAMP:

总结一下,这是文章告诉你的事情:

  • 在Apache中启用虚拟主机
  • 设置它,以便当您访问时example,您将被发送到127.0.0.1
  • 配置Apache,以便当有人访问127.0.0.1(但网站的名称是example)时,它会显示example文件夹中的内容.

这就是您的生产站点(具有多个网站的单个服务器)对每个网站具有不同的"根"的方式.