Всех друзей поздравляем с Новым годом! Всего вам самого наилучшего! Всех благ, здоровья а материальное приложится!
СКРИПТЫ althtmlcssphpjsblog

Единая точка входа htaccess. Код, пример.

Поддержи проект!!!

С начала надо сказать, что же такое единая точка входа и зачем вообще нужна она и как её добиться с помощью файла htaccess.

Большинство существующих движков используют единую точку входа!

Всё о единой точке входа

  1. Что такое единая точка входа.
  2. Зачем нужна единая точка входа.
  3. Как делается и как работает единая точка входа!?
  4. о необходимых условиях для единой точки входа
  1. Что такое единая точка входа.

    Когда вы открываете любую ссылку сайта, то вас автоматически перебрасывает на один определенный файл - обычно index.html.

    Но в настройках htaccess – вы можете настроить на какую страницу вас переадресовать…

    Также мы уже говорили о единой точке входа для папки
  2. Зачем нужна единая точка входа.

    Если у вас нет единой точки входа, то , если вы используете физические файлы для страниц, то вам придется в каждой странице прописывать код этой страницы – либо инклудить другую страницу(страницы) с кодом - в общем довольно неудобно… Я не говорю, что это смертельно и с этим жить нельзя…
    Без единой точки входа - практически невозможно создавать виртуальные страницы…(а это очень полезная вещь!!! )
    Дополнительно пару моих слов о единой токе входа
  3. Как делается и как работает единая точка входа!?

    В файле htaccess прописываются свойства для единой точки входа!

    Мы не будем гадать, как вы хотите сделать, давайте в качестве примера возьмем наш сайт и нашу единую точку входа!

    Хочу сказать! Этого я нигде не читал, а дошел самостоятельно! Наверняка, где-то про это написано!
    Не обязательно делать также - это всего лишь , как мне кажется немного полезного! Примеров мало не бывает!

    Первое главное правило, которое записано в моем файле htaccess - это переадресация всех запросов на страницу index.html

    RewriteRule .* index.html
    Я уже рассказывал о своем файле htaccess - не буду здесь второй раз пересказывать все правила и значения!!

    А вот хочу пару фишек рассказать, как именно фильтруются файлы, и загружаются!

    Начнем с того, какие типы страниц у меня есть : Данный скрипт, стоит на странице единой точки входа и обрабатывает все типы страниц! Поэтому данное условие, хотите вы или не хотите, все равно придется прописывать!
    1). главная,
    2).get запрос($_GET['search_on_site']) : - результат поиска по сайту :
    https://dwweb.ru/page?search_on_site=поиск по сайту,
    3). get запрос($_GET['tema']) : страница тегов :
    https://dwweb.ru/page?tema=HTML
    4). $_GET['spisok'] - страница списков
    https://dwweb.ru/page?spisok=HTML
    5). В предпоследнем условии загружается страница с контентом!
    6). И в самом конце ... если все условия не сработали создается переменная $no_page=1; , которая потом обрабатывается соответствующим образом... нам обязательно надо послать 404 -> это обязательно!

    И если мы выведем весь код, то вот он:

    $uri = strip_tags($_SERVER['REQUEST_URI']);

    $parse_url = parse_url($uri, PHP_URL_PATH);

    $PARTS = explode('/', $parse_url);

    $SERVER_URL - путь на сервере до файла
    $REAL_PAGE - адрес страницы из адресной строки.
    if($uri =='/') //1).

    {

        $its_main=1;

        $search = 'ALL';

    //загружается скрипт цикла, выбирает из базы все ALL делит по 30, создаются виртуальные страницы - внизу страницы на главной см. в самом низу...

    }

    elseif($_GET['search_on_site'])//2 поиск по сайту

    {

        if($_GET['search_on_site']){$search_on_site = strip_tags($_GET['search_on_site']); }

    }

    elseif($_GET['tema']) // 3 теги сайта

    {

        $its_tema=1;

        if($_GET['tema']){$THE_SEARCH = $tema= strip_tags($_GET['tema']); }

    }

    elseif($_GET['spisok']) // 4 список

    {

        $its_spisok=1;

        if($_GET['spisok']){$THE_SEARCH = $spisok = strip_tags($_GET['spisok']); }

    }

    elseif($PARTS[1] == 'page' )//если первая папка page(там весь контент)

    {

    // 5 страница с контентом - если файл существует физически и у него разрешение html то он

        if(file_exists($SERVER_URL) and substr_count( $REAL_PAGE , '.html'))

        {

        include $SERVER_URL; //загружается

        }

        else

        {

        $no_page=1;// если нет то создается переменная нет страницы .

        }

    }

    else

    {

    $no_page=1; //6 во всех остальных случаях создается переменная нет страницы.

    }


    if($no_page)

    {

    1). Отправляем header 404
    2). Вывод страницы 404.html, через include прямо так: include("404.html");
    3). Внутри 404.html делаем переадресацию на главную

    }

    Этот код стоит выше всех html тегов... теперь зачем выведены эти переменные, в зависимости от данных переменных обрабатываются все мататеги(title? description и тд...) отдельный файл, в котором это все обрабатывается(__ALL_TiTLES.php) и передаются в html теги таким образом:

    <title><?echo$title?></title>

    Можно много рассказывать о сайте, по сути - это самописный движок, весь сайт управляется с помощью 6 основных файлов...

    Единая точка входа htaccess.

    Зачем я вам это рассказываю и показываю! Все данные файлы загружается в выше приведенный скрипт, в зависимости от типа страницы... т.е. используется единая точка входа!

    Здесь - еще не показано - вход в админку, + регистрация, и пользователи... но скрипт, пока еще не готов...wall пишем!

    К сожалению, это настолько длительный и трудоемкий процесс, что сам удивляюсь, как мне на все это терпения хватает!

  4. о необходимых условиях для единой точки входа

    Вкратце о необходимых условиях для единой точки входа

    Все таки решил совсем вкратце пробежаться по тем необходимым правилам, которые надо прописать в файле htaccess

    Правила для единой точки входа htaccess

    Сперва вам нужно включить преобразование адресной строки

    RewriteEngine On

    Это часть модуля

    mod_rewrite

    Далее нам нужна основная строка. Которая и будет выполнять данную задачу…

    RewriteRule .* index.html [L]

    Если вам нужно, чтобы правило единой точки входа срабатывало только для одной папки, то надо добавить в эту строку название папки:

    RewriteRule ^page(.*) index.html [L] Здесь надо уточнить!

    Возможно, что именно такой вид строки не сработает на вашем хостинге, это подбирается с помощью великолепного способа известного как «способ научного тыка»

    У меня два сайта на разных серверах и в настройках единой точки входа есть небольшие различия! Для одного требуется слеш в папке(а без слеша не работает…). Для другого нет!


Дополнительно пару мох слов о единой токе входа

Естественно, что я не сразу пришел вообще к пониманию, что такое единая точка входа! Если говорить обо мне, то я скорее консерватор, и мне очень тяжело даются всякие новшества! Но как я только понял, что такое единая точка входа, то просто офигел над тем - как это удобно!

Ну ... я даже не знаю с чем это сравнить - это, как будто-то у тебя выросла еще одна рука! Т.е. ты получаешь дополнительную пространство свободы!


Вас может еще заинтересовать список тем : #HTACCESS |
Последняя дата редактирования : 2020-02-15 01:27
https://dwweb.ru/comments_1_5/include/img/hand_no_foto.png
no
no
Еще никто не прокомментировал! COMMENTS+   BBcode
аватар
🞨
Загрузить свой аватар
(max ширина, высота = 200px)

Подписаться + =
Теги:
единая точка входаединая точка входа phpединая точка входа htaccessединая точка входа на сайтединая точка входа php htaccess

Последние комментарии :
Марат :
12/06/2020 10:07
Всегда пожалуйста! Приходите еще!!!
подробнее.
Александр :
04/06/2020 01:42
Спасибо
подробнее.
admin :
20/05/2020 10:36
Как бы смешно это не звучало! Но! Запускается новая система комментирования COMMENTS+ 1.5. в тестовом режиме!От…
подробнее.
Паула :
21/05/2020 04:48
Вообще мне очень нравится, что вы делаете! И ваш подход! И ваш стиль!И не обращайте внимание на всяких…
подробнее.
admin :
21/05/2020 05:03
Я Вас помню! Вы частенько оставляли сообщения на сайте!Все никак не мог спросить!? У Вас есть сайт -> зачем это…
подробнее.

НАШИ ПРОЕКТЫ : Проекты находятся в разной степени готовности (просто их столько, что времени не хватает…) Все статьи авторские, при копироавании активная ссылка обязательна DwWeb.ru! © 2015 - 2020 Мы на лучшем хостинге -> ruweb