我是PHP的新手,所以希望这不是太尴尬,但还有一个不同的问题。我试图做到这一点,以便根据页面生成链接的HREF。
即。如果网址是mysite / com / blog /,请创建网址../否则../../ - 所以每当我创建新的博客帖子或网页时,它都会自动选择正确的网址而不会创建损坏的404链接。
为什么以下代码不起作用?是否存在语法错误?
另一个问题 - 我的新博客上的链接到我的主网站工作,但他们使用https://www.example.com/somepage.html链接到我的主网站,而我更像是../../somepage.html
-
是我网站的完整网址吗?例如如果它是完整链接而不是来自../?
<li><a href="<?php $blog = “/blog/”; $currentpage = $_SERVER['REQUEST_URI']; if($blog==$currentpage) {http://google.com}else{http://yahoo.com}?>">About</a></li>
&#13;
答案 0 :(得分:2)
你非常接近。我只是从HTML中分离出PHP以使其更易于阅读。基本上,您只是错过了目标网址周围的引号。我还添加了一个新变量 $ destination 并将其设置为默认值。通过这种方式,您可以避免使用 else ,这也使其更易于阅读。
<?php
$blog = '/blog/';
$currentpage = $_SERVER['REQUEST_URI'];
$destination = 'http://yahoo.com'; // This is a default
if ($blog == $currentpage) {
$destination = 'http://google.com';
}
?>
<li>
<a href="<?php echo $destination; ?>">About</a>
</li>
修改强>
另一个问题 - 我的新博客上的链接到我的主网站 工作,但他们链接到我的主要网站使用 https://www.example.com/somepage.html,我宁愿这样 ../../somepage.html -
是我网站的完整网址吗?例如对SEO或分析不利 如果它是完整的链接,它会显示为从我的网站反弹 不是来自../?
你说的是什么意思,
../
<a href="../somepage.html">Test</a>
VS. <a href="mysite.com/somepage.html">Test</a>
?
如果是这样,那就没有区别了。浏览器会将用户发送到同一页面,HTTP请求看起来也一样。
编辑#2
谢谢你。通过../我的意思是,如果你考虑href =&#39; ../ somepage.html&#39; vs href =&#39; example.com/somepage.html' ;; - 一个本地链接和一个 发送http请求并要求互联网工作 - user8758206
我认为当您使用相对链接时,对于发生的事情存在一些混淆。绝对的联系。这些是运行时浏览器的说明。当有人点击链接时,它不会生成额外的HTTP请求(重定向)。在其他条件相同的情况下,两个链接都将从服务器生成200 HTTP响应代码。
这是一个讨论 - Absolute vs relative URLs