Загрузка...

Игнорирование q параметра в адресной строке

Игнорирование q параметра в адресной строке

Игнорирование q параметра в адресной строке

Гугля и Яша при различных рекламных кампаниях любят к ссылкам подставлять параметр q, вследствие чего пользователь переходя по ссылке получает 404 ошибку, ибо этот параметр зарезервирован системой под ЧПУ. Обойти это можно, если вспомнить про то, что $_SERVER['REQUEST_URI'] дает нам целиком, что вбито в адресной строке. Далее путем не сложного кода получаем плагин под катом, после установки которого все работает как надо… Ну по крайней мере должно)
Да, понимаю, что решение простецкое, которое как бы и не требует отдельной статьи, но ко мне обратился человек, который «перерыл весь интернет, и не нашел решения», поэтому и решил опубликовать.

//<?php
/**
 * Q replace
 *
 * Remove $_GET['q'] from url
 *
 * @category    plugin
 * @internal    @events OnPageNotFound
 * @internal    @modx_category Content
 * @internal    @properties 
 * @internal    @disabled 0
 * @internal    @installset base
 */
if ((strpos($_SERVER['REQUEST_URI'],"&q=")!==false) or (strpos($_SERVER['REQUEST_URI'],"?q=")!==false)){
        $urls = explode('?',$_SERVER['REQUEST_URI']);
        $gets = array();        
        if ($urls[1]){  
                foreach(explode('&',$urls[1]) as $param){
                        $params = explode('=',$param);
                        if ($params[0]!='q') $gets[] = $param;
                }       
        }
        if (count($gets)) $url = $urls[0].'?'.implode('&',$gets);
        else $url = $urls[0];
        $content = file_get_contents(MODX_SITE_URL.$url);
        header("HTTP/1.1 200 OK");      
        echo $content;  
        exit(); 
}

Оставить комментарий

только без мата, пожалуйста)

Свяжитесь со мной

удобным способом

Связь

+7 (991) 7-444-515

или рассчитайте стоимость сайта онлайн и отправьте заявку

или смело пишите в телеграм @dvakotaby

или пришлите задание на почту alexey@liber.pro

и я предоставлю вам исчерпывающую информацию, как технического, так и финансового характера