Я искал вокруг на SO, но не могу найти точный ответ на мои потребности.
Создать URL довольно просто …
Вот так:
<link rel="canonical" href="https://example.com<?php echo ($_SERVER['REQUEST_URI']); ?>" />
Но проблема в том, что $_SERVER['REQUEST_URI'])
всегда извлекает текущий используемый файл, поэтому канонический URL может потенциально измениться.
Таким образом, он может переключаться между www.example.com/hello.php и www.example.com/hello/ и многими другими вариантами, в зависимости от того, как пользователь заходит на ваш сайт.
Как мне сделать так, чтобы это всегда был один и тот же URL? (желательно без .php)
Разобрался сам, довольно просто:
<?php
$fullurl = ($_SERVER['REQUEST_URI']);
$trimmed = trim($fullurl, ".php");
$canonical = rtrim($trimmed, '/') . '/';
?>
Затем…
<link rel="canonical" href="https://example.com<?php echo $canonical ?>" />
Я уверен, что есть разные методы, но это работает для меня.
Других решений пока нет …