给定:旧的丑陋URL喜欢 /somepage?ln=en 在htaccess中重写 /en/somepage
给定:使用的规范元标记,上面有此PHP脚本以填充整理URL:

如何使它们像规范一样?

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

一个人可以在没有任何字符串的情况下解析当前的URL,或从URL中删除额外的字符串并将其放入规范的URL中?

有帮助吗?

解决方案

本质上,您只想从$扩展名中摆脱查询字符串,对吗?

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

其他提示

$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)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top