2010-12-17 4 views
3

Gegeben: alte hässliche Urls wie /somepage?ln=en in .htaccess neu geschrieben /en/somepage
Gegeben: kanonischem Meta-Tag, mit diesem PHP-Skript verwendet, die sie in der ordentlich URL zu füllen:Wie bekomme ich die sauberste URL in Meta Canonical über PHP?

Wie sich wie die kanonische zu machen?

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

Welche Wege kann man die aktuelle URL ohne Strings analysieren, oder, um die zusätzlichen Saiten aus der URL löschen und in die kanonische URL setzen?

Antwort

1

Im Wesentlichen möchten Sie nur die Abfragezeichenfolge von $ Erweiterungen loswerden, richtig?

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

Flawless Implementierung Simshaun! Dieser Hinweis erhellte alles. – Sam

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 
) 

Dann könnten Sie gerade tun:

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

Oder auch:

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

Ben du bist ein Genie, so sehr, dass ich deine Antwort überhaupt nicht verstehe ++ 1 – Sam

+0

@Sam - Sicher, fertig. – Ben

+0

- Vielen Dank Ben. – Sam

Verwandte Themen