Помогите найти ошибку, как настроить развитие событий в программе в зависимости от того что в адресной строке?

Я понимаю что я скорее всего получу отметки минус за такие вопросы, но у меня уже мозги взрываются - я не понимаю как в зависимости от того что в строке запроса ветвить программу.

Пытался настроить ветвление, на просторах интернета наткнулся на статью где это можно реализовать с помощью GET запросов прямо в ссылках типа <a href="?attr=value"></a>, после встретил эту статью.

Изучил ее. Скачал себе все прилагающиеся к ней доки из репозитория ниже. Изучил их. Суть уловил - в зависимости от того что выдает $_SERVER['REQUEST_URI'] подключаю соответствующий файл.

Пытался реализовать ту же аналогию на своем сайте - не работает. Вот код который я написал специально для этого вопроса: 1).htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]

2)index.php

<?php
    $path = explode('/', $_SERVER['REQUEST_URI']);
    $page = $path[1];
    switch($page) {
        case '/':
            include "layout.php";
            break;
        case 'contacts':
            include "contacts.php";
            break;
        case 'link':
            include "link.php";
            break;
    }

3)contacts.php

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <a href="/">main</a>
        <a href="/contacts">contacts</a>
        <a href="/link">link</a>
        <h1>contacts</h1>
        <h1><?= var_dump($_SERVER) ?></h1>
    </body>
</html>

4)layout.php

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <a href="/">main</a>
        <a href="/contacts">contacts</a>
        <a href="/link">link</a>
        <h1><?= var_dump($_SERVER) ?></h1>
        <h1><?= var_dump($page) ?></h1>
    </body>
</html>

5)link.php

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <a href="/">main</a>
        <a href="/contacts">contacts</a>
        <a href="/link">link</a>
        <h1>link</h1>
        <h1><?= var_dump($_SERVER) ?></h1>
    </body>
</html>

Проще привести пример уже некуда - но даже тут аналогия не работает. Подскажите где может быть ошибка или что еще нужно сделать чтобы эта аналогия работала правильно?????

При запуске всеработает прекрасно и ссылка main в том числе, но стоит мне нажать на любую из двух других ссылок - хоть в адресной строке и появляется http://test/contacts, которая по идее должна разбиться на куски и выдать в итоге после обработки нужную страницу - я все равно получаю ошибку 404.

Крик души уже, заранее спасибо)


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