3

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?

Lance Roberts
  • 22,383
  • 32
  • 112
  • 130
Sam
  • 15,254
  • 25
  • 90
  • 145

2 Answers2

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
)

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)
Ben
  • 16,275
  • 9
  • 45
  • 63
1

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;
simshaun
  • 21,263
  • 1
  • 57
  • 73