Создавать канонические теги, используя PHP без запросов?

В настоящее время я использую код php ниже для генерации канонических тегов по всему миру. Это работает, но я не хочу, чтобы запросы добавлялись к исходному URL.

<link rel="canonical" href="<?php $url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];echo $url;?>">

Например, если URL, который извлекается динамически,

Как я могу изменить свой код, чтобы удалить что-либо после "?" оператор
~ Спасибо

1 ответ

Как отметил Марк Б, либо используйте parse_url, чтобы отделить URL, который намного безопаснее, чем вы делаете. Или используйте взрыв, чтобы просто удалить что-нибудь после?

<?php
list($request_uri,$request_args) = explode('?',$_SERVER['REQUEST_URI'],2);
echo $request_uri;

Обратите внимание, что приведенное выше довольно неприятно, вместо этого используйте parse_url http://php.net/parse_url

Другие вопросы по тегам