【问题标题】:How to get/read the cleanest url into Meta Canonical via PHP?如何通过 PHP 获取/读取 Meta Canonical 中最干净的 url?
【发布时间】:2011-05-27 05:27:56
【问题描述】:

鉴于:/somepage?ln=en 等旧的丑陋 url 在 htaccess 中被重写为 /en/somepage
给定:使用规范的元标记,上面有这个 php 脚本来填写整洁的 url:

如何让它们成为经典?

      <link rel="canonical" href="<?=$canonicalURL?>">

有什么方法可以不带任何字符串地解析当前的url,或者,从url中删除多余的字符串并将其放入规范的url中?

【问题讨论】:

    标签: php http url meta canonical-link


    【解决方案1】:
    $url = parse_url('http://example.com/path/page?param=value');
    
    print_r($url)
    
    Array
    (
        [scheme] => http
        [host] => example.com
        [path] => /path/page
        [query] => param=value
    )
    

    那么你可以这样做:

    $url['scheme'] . '://' . $url['host'] . $url['path']
    

    甚至:

    $url = 'http://example.com/path/page?param=value'; 
    'http://example.com' . parse_url($url, PHP_URL_PATH)
    

    【讨论】:

      【解决方案2】:

      本质上,您只是想从 $extensions 中删除查询字符串,对吗?

      <?php
      $qsIndex = strpos($extensions, '?');
      $extensions = $qsIndex !== FALSE ? substr($extensions, 0, $qsIndex) : $extensions;

      【讨论】:

      • 完美的实现,Simshaun!这条线索照亮了一切。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-18
      • 2015-03-12
      • 2012-07-01
      • 2017-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多