这本身是个小问题,但是经常出现,就记录一下,提高效率。
您可以直接看解决方法,跳过分析过程。
分析过程:
在wamp的www目录下,有一个index.php文件,这个文件就是我们访问127.0.0.1或者localhost时看到的本地内容。
可是在新安装之后,我们点击www目录下的文件,页面的跳转时没有了域名,只有文件名。审查元素后看到,这些文件对应的超链接中只有文件名,
没有域名,那么一定是跳转不过去的。
那么问题是这些超链接又是在哪生成的呢?
解决方法:
打开wamp \ www \ index.php看到如下代码:
while (($file = readdir($handle))!==false)
{
if (is_dir($file) && !in_array($file,$projectsListIgnore))
{
//[modif oto] Ajout éventuel de http:// pour éviter le niveau localhost dans les url
$projectContents .= '<li><a href="'.($suppress_localhost ? 'http://'. : '').$file.'">'.$file.'</a></li>';
}
}
可以看到http://超链接之后什么也没有,紧接着就是文件名了。如此的话,那么改一下。
$projectContents .= '<li><a href="'.($suppress_localhost ? 'http://'.$_SERVER['HTTP_HOST'].'/' : '').$file.'">'.$file.'</a></li>';
在http://后面加上当前页面请求的host信息,这下跳转就正确了。
知识扩展:
顺便补充PHP获取头部信息的知识:
测试地址:
#测试网址: http://localhost/blog/testurl.php?id=5
//获取域名或主机地址
echo $_SERVER['HTTP_HOST'].""; #localhost
//获取网页地址
echo $_SERVER['PHP_SELF'].""; #/blog/testurl.php
//获取网址参数
echo $_SERVER["QUERY_STRING"].""; #id=5
//获取用户代理
echo $_SERVER['HTTP_REFERER']."";
//如果想获取完整的url,可以用上面的内容拼接起来。
参考文章:http://www.cnblogs.com/A-Song/archive/2011/12/14/2288215.html