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)
这可能吗?
处理此问题的另一种方法是使用虚拟主机.
虚拟主机的作用类似于localhost的第二个版本,专门用于子文件夹.例如,您可以设置Apache,以便在您访问时http://example(无.com或任何内容),它会显示来自的内容http://localhost/example/.所有CSS和JavaScript以及链接都会像在网站的根文件夹中操作一样,因为前导example文件夹已经从URL中删除了.
我找不到我曾经用于XAMPP 的演练,但这里有一个涵盖所有要点的类似演练.它是为Windows编写的,但我想有一些类似的机制可以用于LAMP:
总结一下,这是文章告诉你的事情:
example,您将被发送到127.0.0.1127.0.0.1(但网站的名称是example)时,它会显示example文件夹中的内容.这就是您的生产站点(具有多个网站的单个服务器)对每个网站具有不同的"根"的方式.