Domanda

Dato: URL vecchio brutto come /somepage?ln=en vengono riscritti in .htaccess per /en/somepage
Dato: utilizzato meta tag canonica, con questo script php sopra di esso per riempire l'url in ordine:

Come rendere loro come la canonica?

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

Quali modi si può analizzare l'URL corrente senza alcune stringhe, o, eliminare le corde extra da l'URL e metterlo nella URL canonico?

È stato utile?

Soluzione

In sostanza, si vuole solo sbarazzarsi della stringa di query da $ estensioni, giusto?

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

Altri suggerimenti

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

Poi si può solo fare:

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

O ancora:

$url = 'http://example.com/path/page?param=value'; 
'http://example.com' . parse_url($url, PHP_URL_PATH)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top