PHP - как удалить переменную из $_GET - редирект со склейкой

В продолжение статьи про “лишние” $_GET переменные выкладываю практическую часть - скрипт (сниппет-кусок готового кода) для редиректа на аналогичные страницы, но без лишних $_GET переменных. Т.е. склейка страниц c $_GET переменными и “основных” страниц, без них (или удаление $_GET переменных из URI)

if (!empty($_GET)) {
	$tounset = array('vmcchk','flypage');
	foreach ($tounset as $v)
		unset ($_GET[$v]);
	// new URI
	$request = substr($_SERVER['REQUEST_URI'],0,strpos($_SERVER['REQUEST_URI'],'?'));
	$qs = ''; // NEW query string
	if (!empty ($_GET)) {
		$qs = array();
		foreach ($_GET as $k=>$v) {
			$qs[] = '$k='.urlencode($v);
		}
		$qs = implode ('&',$qs);
		$qs = '?'.$qs;
	}
	header("HTTP/1.1 301 Moved Permanently");
	header ('Location:'.$request.$qs);
	exit();
}

Автор будет признателен, если Вы поделитесь ссылкой на статью, которая Вам помогла:
BB-код (для вставки на форум)

html-код (для вставки в ЖЖ, WP, blogger и на страницы сайта)

ссылка (для отправки по почте)

Добавить комментарий