Question

Given: old ugly urls like /somepage?ln=en are rewritten in htaccess to /en/somepage
Given: used canonical meta tag, with this php script above it to fill in the tidy url:

How to make them like the canonical?

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

What ways can one parse the current url without any strings, or, delete the extra strings from the url and put it into the canonical url?

Was it helpful?

Solution

Essentially, you just want to get rid of the query string from $extensions, correct?

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

OTHER TIPS

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

Then you could just do:

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

Or even:

$url = 'http://example.com/path/page?param=value'; 
'http://example.com' . parse_url($url, PHP_URL_PATH)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top