如何通过PHP获取/读取Meta Canonical中最干净的URL?

时间:2010-12-17 16:17:38

标签: php http url meta canonical-link

鉴于:像/somepage?ln=en这样的丑陋旧网址被重写为/en/somepage的htaccess 给定:使用规范元标记,在其上方使用此PHP脚本填写整洁的网址:

如何使它们像规范?

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

可以用什么方法解析当前网址没有任何字符串,或者从网址中删除额外的字符串并将其放入规范网址?

2 个答案:

答案 0 :(得分:3)

$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)

答案 1 :(得分:1)

基本上,你只想摆脱$ extensions中的查询字符串,对吗?

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