Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在标头中添加规范标记的条件语句_Php_Html_Header_Canonical Link - Fatal编程技术网

Php 在标头中添加规范标记的条件语句

Php 在标头中添加规范标记的条件语句,php,html,header,canonical-link,Php,Html,Header,Canonical Link,嗨,我需要找到一种方法来添加一个条件语句,根据页面URL插入一个规范标记 规范标记本身是很好的,我想它应该是围绕着它的,就像你用css做的一样。我知道PHP可以获取页面URL的详细信息 <!--IF HEADER URL = "PAGE URL HERE" --> <link rel="canonical" href="LINK HERE" /> <!--IF HEADER URL--> 这就引出了我的第二个问题。 我想要添加规范标签的页面也不总

嗨,我需要找到一种方法来添加一个条件语句,根据页面URL插入一个规范标记

规范标记本身是很好的,我想它应该是围绕着它的,就像你用css做的一样。我知道PHP可以获取页面URL的详细信息

<!--IF HEADER URL = "PAGE URL HERE" -->
    <link rel="canonical" href="LINK HERE" />
<!--IF HEADER URL-->

这就引出了我的第二个问题。 我想要添加规范标签的页面也不总是有相同的链接

  • embassy_details.php?embassy=阿富汗
  • embassy_details.php?embassy=非洲
  • embassy_details.php?embassy=美国
我的想法是在它周围放上初始的条件语句,然后把它放在链接包含的所有页面上(embassy_details.php),因为这是我需要的

如果你需要更清晰的信息,请给我留言

由于以前的开发人员方法,inb4不可能为此页面创建新的头文件


编辑 我用JQuery几乎达到了上述目标,但在添加JQuery时遇到了一些问题。我可以提醒标记,但我认为我的append语句有问题

$(document).ready(function(){
        var l = window.location.href;

        if (l.indexOf("embassy_details.php") > -1) {
            $('head').append('<link rel="canonical" href="http://LINK/embassies.php" />');
        };
    });
$(文档).ready(函数(){
var l=window.location.href;
如果(l.indexOf(“embassy_details.php”)>-1){
$('head')。追加('');
};
});
你是说

if (isset($_GET['embassy'])) {
        $embassy = $_GET['embassy'];
        echo '<link rel="canonical" href="embassy_details.php?embassy='.$embassy.'" />';
    } else {
        $embassy = '';
        echo '<link rel="canonical" href="embassy_details.php" />';
    }
if(isset($\u GET['embassy'])){
$embassy=$_GET['embassy'];
回声';
}否则{
$大使馆='';
回声';
}

不适合你吗?

嗨,我今天早上一直在做这个,头脑清醒,因为睡了个好觉。对我有效的解决方案是在
body.php
中执行。我之所以选择在这里添加我的声明,是因为我在标题上遇到了所有问题。我的代码所做的是检查链接是否包含embassy_details.php,然后将其添加到标题的最开头

<?php

$link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

if (strpos($link,'embassy_details.php') !== false) {
    echo str_replace('</head>', '', '<link rel="canonical" href="http://www.LINK.co.uk/embassies.php")');
}

?>


这会将其添加到所有使馆详细信息的标题中

用JQuery olutionwhy js更新了附近的问题?为什么是jQuery?php生成页面时放置数据是标准情况和标准解决方案。为什么在页面输出到客户端后需要更改规范标记?当这是必要的时候,用例是什么?顺便说一下,这个标签对SEO很有用,但是如果你从jQuery动态地更改它,它就没有任何意义了。当我使用php方法时,pae jsut似乎崩溃了,正确地使用
标签,但它打印
})位于页面顶部。我还确保所有行都以
正确结束它的任何php在一个文件中,它打印结束