我有一些代码在HTML得到PHP解析,我希望图像标签是相对的,因为代码需要在多个服务器上工作。
我把目录中的index.php
作为文件夹icons
,在icons
中,有一个名为logo.png
的图像。代码是index.php
,如下所示:
echo '<img src="icons/logo.png">';
But不工作。然而,如果我把它改为这种路径(http://mydomain...
),它确实工作。
在其中一台服务器上,index.php
和icons
都位于子域目录中,而在另一台服务器上,它们位于根目录中。在这两种情况下,相对路径都不起作用。
我怎么能解决这个问题?
谢谢。
编辑:在我的HTML检查器中,我可以看到图像的URL被正确解析。
如果你的文件在根目录public_html/,那么你不需要做任何事情,只需使用/icons/logo.png
访问它。但是,如果你有一个子目录,你想让它成为自己的根目录,那么执行以下操作:
如果你可以访问httpd-vhosts
,你需要为apache设置Virtual Host
,并将其链接到子目录,作为其子目录下所有文件/文件夹的根目录。
那么就使用"/icons/logo.png"
如果你不能访问VHosts
或apache文件,并且你是在共享主机上托管,那么你需要阅读。htaccess捕获请求并检查img是否存在于根目录中,如果不存在则检查img是否存在于子目录中。
另一种方法是给站点URL设置一个全局变量,比如:
define('SITE_URL', 'http://mysite.com/');
和链接到您的图像,如:<?=SITE_URL?>icons/logo.png
对于每个服务器,只需修改SITE_URL
你需要知道你的路径在服务器或在wamp服务器c:/wamp/www/所以你可以把这个
echo '<'img src="/icons/biglogo.png >
否则您需要更改路径或放置完整路径
echo '<'img src="/mysite/img/icons/biglogo.png" >';
好了,我找到问题了!没有必要采取复杂的解决办法,因为问题是这样的:
icons/
当去http://mydomain.com/icons
,我发现自己在一些apache文件夹包含apache图标。所以我猜它会把我带到域名的最根,然后进入某个图标文件夹。
当将icons/
更改为例如images/
时,它可以完美地工作!