Question

Étant donné: vieux urls laid comme /somepage?ln=en sont réécrites dans htaccess à /en/somepage
Étant donné: utilisé balise META canonique, avec ce script php ci-dessus pour remplir l'URL bien rangé:

Comment les rendre comme canonique?

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

Quels moyens peut-on analyser l'URL actuelle sans chaînes, ou, supprimer les chaînes supplémentaires de l'URL et de le mettre dans l'URL canonique?

Était-ce utile?

La solution

Essentiellement, vous voulez juste pour se débarrasser de la chaîne de requête à partir de $ extensions, correcte?

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

Autres conseils

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

Ensuite, vous pouvez simplement faire:

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

Ou même:

$url = 'http://example.com/path/page?param=value'; 
'http://example.com' . parse_url($url, PHP_URL_PATH)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top