使用PHP

时间:2018-01-08 21:17:12

标签: php

我是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;
&#13;
&#13;

1 个答案:

答案 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