PHP Переход по ссылке с параметром

Всем салют! Подскажите, как реализовать проверку на нужный url с параметром?

    <?php 
        $uri = $_SERVER['REQUEST_URI'];
        var_dump($uri);
        if($uri === '/')
            require 'template/main.php';
        elseif($uri === '/customers'){
                if($uri === '/customers?active')
                    require 'template/active.php';
                elseif($uri === '/customers?history')
                    require 'template/history.php';
                else
                    require 'template/customers.php';
        }
        else
            require 'template/404.php';
         

    ?>

необходимо, что бы при переходе по ссылке /customers?active=1 открывалась нужная страница, а меня редиректит на 404.


Ответы (1 шт):

Автор решения: Andrey Mihalev

Видимо вы пытаетесь сделать свой MVC и не понимаете с чего начать. Вот хороший материал для начинающего. Сразу же обратите внимание на маршрутизатор URL.

Вернемся к вопросу. Вы сравниваете строку c точным значением, а ваша строка длиннее этого значения. В результате и получаете 404 по else.

Что сделать в вашем случае? Применить substr, и сравнивать нужное количество символов $uri c нужной строкой, соответственно строка с условием должна выглядеть вот так (прошу обратить внимание, что это только конкретный пример для частного случая):

elseif(substr($uri, 0, 10) === '/customers')
→ Ссылка