我的标题中包含此代码
<?php
define('RELPATH','http://www.saint57records.com/');
include_once(RELPATH.'sidebar.php');
?>
以及侧栏中的示例代码行
<a href="/"><img style="margin:10px;" src="<?php print RELPATH;?>images/logo.png" width="60px"/></a>
但是当它到达页面时,它正确地包含了文件,但文件中的所有链接只打印RELPATH而不是像这样的web url
<a href="/"><img style="margin:10px;" src="RELPATHimages/logo.png" width="60px"/></a>
它在我的网站的其他页面上工作正常,而不是在Wordpress内部。有谁知道可能导致这个问题的原因?
答案 0 :(得分:1)
简短的回答是提供RELPATH的文件系统路径,而不是Web URL。
答案很长,当您使用Web URL包含PHP文件时,PHP文件将被视为外部源。它将被远程调用,在它自己的进程中执行,并返回结果。先前定义的常量不能在此远程资源中生效。
如果http://www.saint57records.com/
位于不同的服务器上,则必须以其他方式将RELPATH传递给它,例如通过一个GET变量(在使用之前你必须使用htmlentities()
进行清理。)但是,以这种方式包含来自远程服务器的内容并不是一种好的做法。它会降低您的网页速度,因为它会产生昂贵的网络请求。如果目标服务器关闭,您的页面将超时。