0

我有一些由 PHP 解析的 HTML 代码,我希望图像标签是相对的,因为代码需要在多个服务器上工作。

index.php在目录中作为文件夹icons,在icons里面,有一个图片叫logo.png. 代码是index.php这样的:

echo '<img src="icons/logo.png">';

但不起作用。但是,如果我将其更改为这种路径(http://mydomain...),它确实有效。

在其中一台服务器上,两者index.phpicons位于子域目录中,而在另一台服务器上,它们位于根目录中。在这两种情况下,相对路径都不起作用。

我怎样才能解决这个问题?

谢谢。

编辑:在我的 HTML 检查器中,我可以看到图像的 URL 被正确解析。

4

3 回答 3

0

如果您的文件位于根目录 public_html/ 中,那么您无需执行任何操作,只需使用/icons/logo.png. 但是,如果您有子目录希望它成为自己的根目录,请执行以下操作:

Virtual Host如果您有权访问 apache并将其链接到子目录,则需要设置apachehttpd-vhosts作为其下所有文件/文件夹的根目录。

然后你就用"/icons/logo.png"

如果您无权访问VHosts或 apache 文件并且您在共享主机上托管,那么您需要阅读.htaccess以捕获请求并检查 img 是否存在于根目录中,如果不存在则检查它是否存在于子目录中。

另一种方法是只使用站点 URL 的全局变量,例如:

  define('SITE_URL', 'http://mysite.com/');

并链接到您的图像,例如:<?=SITE_URL?>icons/logo.png

对于每台服务器,您只需修改SITE_URL

于 2013-05-17T15:49:41.533 回答
0

你需要知道你在服务器或 wamp 服务器中的路径是什么 c:/wamp/www/ 所以你可以把这个

echo '<'img src="/icons/biglogo.png  >

否则您需要更改路径或放置完整路径

echo '<'img src="/mysite/img/icons/biglogo.png" >';
于 2013-05-17T15:51:01.523 回答
0

好吧,我发现了问题!不需要复杂的解决方案,因为问题是这样的:

 icons/

去的时候http://mydomain.com/icons,我发现自己在一些包含 apache 图标的 apache 文件夹中。所以我想它会把我带到域的根目录,然后进入一些图标文件夹。

例如,当更改icons/为时images/,它可以完美运行!

于 2013-05-17T15:59:10.193 回答