×

Дополнительные материалы бесплатно предоставляются только зарегистрированным пользователям.

Для скачивания исходных файлов необходимо войти под своим аккаунтом через форму на главной панели.

Для тех кто не зарегистрирован, можно это сделать на вкладке Регистрация.

  • Рубрики
  • Слайдер
  • Сайдбар
  • Подписка
  • Вниз
  • Вверх
×
  • Как сделать сайт с нуля своими руками (вводная часть)

    1. Причины создания пошаговой инструкции по разработке самописного сайта
    2. Тема создаваемого сайта
    3. В чем будет заключаться монетизация
    4. Функционал
    5. Этапы создания
    6. Текущее состояние создаваемого сайта

    Здравствуйте уважаемый посетитель!

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

    Причем чтобы такой интернет-ресурс был создан не на каком-нибудь стандартном шаблоне бесплатной СMS (Content management system - система управления контентом) типа WordPress, Drupal, Joomla и т.п., а заточенный под себя, с возможностью обеспечить ему должную безопасность и реализовать все свои индивидуальные потребности.

    Часто такие сайты, созданные под конкретные задачи на основе языка разметки веб-страниц HTML, стилей CSS и других инструментов веб-программирования (PHP, JavaScript и т.п.), называют самописными.

    Этой статьей начинается отдельная рубрика "Как сделать сайт с нуля своими руками", где на реальном примере, с предоставлением исходных материалов (программные коды, файлы и т.п.), будет показано, как действительно можно самостоятельно сделать рабочий сайт.

    По существу, она представляет вводную часть сборника статей по столь интересной и полезной теме. И в общих чертах поясняет некоторые особенности создаваемого сайта.

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

Самописный сайт своими руками!

Текущее состояние создаваемого сайта

Здесь можно посмотреть текущее состояние тестового самописного сайта, который создается в рамках цикла статей Сделай сайт с нуля своими руками.

Где в дополнительных материалах можно бесплатно скачать исходные файлы сайта с таблицами MySQL.

Вы здесь: Главная → Сборник статей → URL для людей → Добавляем в URL расширение .html


Автор: / Дата:

Добавляем в URL расширение .html

Здравствуйте уважаемый посетитель!

В предыдущих статьях мы создали механизм работы сайта с ЧПУ, при котором ссылки имеют человеко-понятные урлы без каких-либо к ним добавлений, например: httρ://newsite.local/sposobi-markirovki.

Однако, для улучшения поисковыми системами индексирования и ранжирования страниц сайта обычно используют в конце адреса расширение .html. Что позволяет обозначать такие страницы конечными, не являющимися каталогами или какими-то директориями.

В таком варианте ЧПУ-ссылки принимают вид с дополнительным окончанием типа: httρ://newsite.local/sposobi-markirovki.html. Вот такое преобразование мы сегодня и выполним.

А сделать это в нашем случае будет совсем несложно, так как для этого потребуется лишь внести небольшое дополнение кода в файлах ".htaccess", "menu.php" и "ftr_menu.php".

Содержание


  • Добавляем расширение .html в шаблон правила RewriteRule MOD_REWRITE
  • Формируем ссылки с .html
  • Проверка работы сайта с расширением .html в URL
  • Исходные файлы сайта

Добавляем расширение .html в шаблон правила RewriteRule MOD_REWRITE


Ранее, в одной из статей по преобразованию статических ЧПУ в динамические ссылки мы создали в файле ".htaccess" правило RewriteRule модуля MOD_REWRITE. В котором был сформирован шаблон для элементов статических ссылок, основанный на регулярном выражении

Поэтому, для того, чтобы иметь возможность преобразовывать входящие URL, содержащие расширение ".htmΙ" необходимо внести в этот шаблон соответствующие дополнения, как показано ниже (строки с изменениями выделены более светлым фоном, сами изменения - красным).

  1. AddDefaultCharset UTF-8

  2. RewriteEngine on

  3. RewriteCond %{REQUEST_FILENAME} !-d

  4. RewriteCond %{REQUEST_FILENAME} !-f

  5. RewriteRule ^([A-Za-z0-9-]+)/([^/]+)/(.*).html$ index.php?section=$1&rubric=$2&page=$3 [L]

  6. RewriteCond %{REQUEST_FILENAME} !-d

  7. RewriteCond %{REQUEST_FILENAME} !-f

  8. RewriteRule ^([A-Za-z0-9-]+)/([^/]+).html$ index.php?section=$1&rubric=$2 [L]

  9. RewriteCond %{REQUEST_FILENAME} !-d

  10. RewriteCond %{REQUEST_FILENAME} !-f

  11. RewriteRule ^([A-Za-z0-9-]+).html$ index.php?section=$1 [L]]

Рис.1 Дополнение расширения ".htmΙ" в шаблоне правила RewriteRule

Здесь видно, что в строках 5,8.11 в конце каждого регулярного выражения добавлено ".htmΙ". Вследствие чего, входящие URL теперь будут проверяться на соответствие шаблону с этим дополнением.

Следует отметить, что в данном варианте все входящие URL должны иметь расширение ".htmΙ". Поэтому, в случае использования адресов без него, либо со знаком слеш "/", следует добавить в файле ".htaccess" к имеющимся RewriteRule дополнительные правила с соответстующими шаблонами.

Таким образом мы сделали необходимые дополнения в файле ".htaccess", и теперь осталось только получить ссылки с ".htmΙ".

Формируем ссылки с .html


Ранее, в одном из разделов по преобразованию обычных динамических ссылок в ЧПУ были сформированы файлы "menu.php" и "ftr-menu.php". В которых формирование статических адресов в главном меню и меню футера выполняется на основе полученных из таблицы MySQL словообразований человеко-понятных урлов.

Поэтому, для того, чтобы получить ссылки с ".htmΙ" достаточно будет сделать в этих словообразованиях соответствующие дополнения, как показано на рис.2.

  1. <?php

  2. //----Формирование главного меню-------------

  3. $data_bd = getAll('url');

  4. for ($i = 0; $i < count($data_bd); $i++) {

  5. $id = $data_bd[$i]['id'];

  6. $title = $data_bd[$i]['title'];

  7. $section = $data_bd[$i]['section'];

  8. $rubric = $data_bd[$i]['rubric'];

  9. $page = $data_bd[$i]['page'];

  10. if (!empty($section)) $section_slash = "/".$section;

  11. else

  12. $section_slash = "";

  13. if (!empty($rubric)) $rubric_slash = "/".$rubric;

  14. else

  15. $rubric_slash = "";

  16. if (!empty($page)) $page_slash = "/".$page.'.html';

  17. else

  18. $page_slash = "/";

  19. if ($current_url == $page) echo '<li class="activ"><a href="'.$section_slash.$rubric_slash.$page_slash.'">'.$title.'</a></li>';

  20. else

  21. echo '<li><a href="'.$section_slash.$rubric_slash.$page_slash.'">'.$title.'</a></li>';

  22. }

  23. ?>

Рис.2 Формирование ссылок с расширением ".htmΙ" в главном меню (файл "menu.php")

Здесь видно, что в строке 16 к значению переменной $page_slash', которая определяет конечный элемент ссылок, добавляется ".htmΙ". И этого, оказывается, достаточно для того, чтобы все существующие ссылки принимали необходимое окончание.

Аналогичное дополнение следует сделать и для меню футера в файле "ftr-menu.php".

Таким образом мы сделали все необходимые преобразования, осталось только это проверить.

Проверка работы сайта с расширением .html в URL


Для проверки с начала откроем главную страницу, а затем поочередно перейдем на другие страницы сайта.

В случае, если все преобразования сделаны правильно, работа сайта не должна отличаться от прежнего состояния. За исключением только того, что теперь в адресной строке браузера будет присутствовать расширение ".htmΙ".

Ниже, на скриншоте показан вариант страницы со ссылкой, которая была приведена в водной части данной статьи.

Для увеличения / уменьшения размера изображения кликните по картинке
Добавляем в URL расширение .html, картинка 1

Рис.3 Проверка работа сайта с расширением ".htmΙ" адресной строке

Как видно, мы получили ожидаемый результат. И теперь наш сайт будет работать со ссыками, имеющими расширение ".htmΙ".

Таким образом мы закончили рассмотрение темы о работе с ЧПУ, после чего можно перейти к другим вопросам создания сайта.

Исходные файлы сайта


Знак папкиИсходные файлы сайта с обновлениями, которые были сделаны в данной статье, можно скачать из прилагаемых дополнительных материалов:

  • Файлы каталога www
  • Таблицы базы данных MySQL

Дополнительные материалы бесплатно предоставляются только зарегистрированным пользователям.

Для скачивания исходных файлов необходимо войти под своим аккаунтом через форму на главной панели.

Для тех кто не зарегистрирован, можно это сделать на вкладке Регистрация.

С уважением, Николай Гришин


Комментарии


Если у Вас возникли вопросы, или есть какие-либо пожелания по представлению материала, либо заметили какие-нибудь ошибки, а быть может просто хотите выразить свое мнение, пожалуйста, оставьте свои комментарии. Такая обратная связь очень важна для возможности учитывать в дальнейшем мнение посетителей.

Буду Вам за это очень признателен!

comments powered by HyperComments