我的网页设置正确。我刚刚开始构建一个PHP部分,它将允许一些CMS功能。我的工作空间结构是:
/workspace/website/index.html
/workspace/website/images
/workspace/website/admin/user_login.php
现在我的index.html
正确地绘制了所有的图像。但是我的user_login.php
没有。我用这个链接将HTML包裹在PHP脚本中
<a href="index.html"><img src="images/banner.png" height="100px" align="left" /></a>
当我把user_login.php
放在根目录中时,一切都显示得很好,但当我把它放在管理部分的文件夹中时,没有任何HTML内容显示出来。
我错过了什么?这对于构建CMS部分来说真的很糟糕吗?出于组织目的,我试图尽可能多地对其进行划分,但这是我的第一个PHP/HTML工作,所以我对正确的"形式"不太熟悉。
您所需要做的就是将图像引用更改为绝对链接,方法是在路径中添加一个初始斜杠:
<img src="/images/banner.png" height="100px" align="left" />
目前您有相对路径,因此浏览器正在/admin/images/banner.png中查找图像,这显然不起作用。
这是一个很好的习惯,为任何网站内的链接或参考。
将/
预先发送到您的资产URL,以便从根目录加载它们。如果不这样做,浏览器将尝试查找admin/images/banner.png
。
示例:
<img src="/images/banner.png" height="100px" align="left" />
相对路径是相对于当前位置的。破坏的不仅仅是你的图像,还有任何使用相对链接的链接或导入。
当您在admin/user_login.php中时,换句话说,浏览器正在查找
<a href="admin/index.html"><img src="admin/images/banner.png" /></a>
您可以通过设置根相对链接来解决此问题,即基于网站的web根的路径。
<a href="/index.html"><img src="/images/banner.png" /></a>