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

Единая точка входа 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['search']) : страница тегов :
    https://dwweb.ru/page?search=HTML
    4). $_GET['spisok'] - страница списков
    https://dwweb.ru/page?spisok=HTML
    5). В предпоследнем условии загружается страница с контентом!
    6). И в самом конце ... если все условия не сработали создается переменная $no_page=1; , которая потом обрабатывается соответствующим образом...если мы выведем весь код, то вот он:

    $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['search']) // 3 теги сайта

    {

    $its_search=1;

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

    }

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

    {

    $its_spisok=1;

    if($_GET['spisok']){$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 во всех остальных случаях создается переменная нет страницы.

    }

    Этот код стоит выше всех 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-01-14 10:23
Теги:
единая точка входаединая точка входа phpединая точка входа htaccessединая точка входа на сайтединая точка входа php htaccess

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