<MyRusakov.ru />

Создание Интернет-магазина на PHP и MySQL

Создание Интернет-магазина на PHP и MySQL

Видеокурс "Создание Интернет-магазина на PHP и MySQL" - это уникальный курс по созданию Интернет-магазина с нуля. Особенностью данного курса является то, что создание идёт с самого начала, то есть от идеи. Далее создаётся дизайн всех необходимых страниц, после делается их вёрстка. Затем создаётся движок на PHP и MySQL, после делается Admin-панель и, наконец, готовый сайт размещается в Интернете.

Адрес созданного в этом курсе сайта: http://storedvd.ru

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

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Инструкция по работе с модулем Apache Rewrite

Инструкция по работе с модулем Apache Rewrite

Хорошее понимание работы механизма перенаправления URL исключительно важно для любого мало-мальски сложного web-приложения. Я уже писал о механизме перенаправления здесь. Сегодня мы поговорим более подробно на эту тему.

Правила перенаправления являются важнейшими элементами почти любого web ориентированного приложения. Это стандарт де-факто. Эти правила служат двум главным целям:

  1. Создание ЧПУ
  2. Сокрытие внутреннего устройства сайта, в целях безопасности

Правила перенаправления часто используются для маскировки сложных URL адресов в целях SEO оптимизации и для того, чтобы сделать URL легче для восприятия. Взгляните на пример ниже.

  1. https://myrusakov.ru/article.php?id=1057
  2. https://myrusakov.ru/apache-rewrite-engine-guide.html

Согласитесь, что читать второй URL легче. Также благодаря такому URL улучшается SEO, так как в этом адресе содержится и ключевой запрос, который может быть проиндексирован поисковиком. Другой плюс заключается в том, что скрывается технология, на которой сделан сайт, что увеличивает безопасность.

Инструкция RewriteRule

Инструкция RewriteRule определяет правила перенаправления. У нее следующий синтаксис:

RewriteRule Шаблон Подстановка [Флаги]

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

Пример (файл .htaccess):

 RewriteEngine On
  RewriteRule ^([0-9]{4})/([0-9]{0,2})/$ /article.php?y=$1&m=$2 [S]
  RewriteRule ^view\.php – [F]

Каждая строка называется инструкцией или директивой. Первая строка включает режим перенаправления, она всегда должна присутствовать, если вы хотите использовать модуль Apache Rewrite Engine. Вторая строка создает соответствие между URL адресом и шаблоном регулярного выражения. О регулярных выражениях я писал здесь. В данной серии статей очень подробно рассказывается о том, что такое регулярные выражения и как их применять в PHP. Поэтому без хорошего понимания регулярных выражений, вам трудно будет освоить Rewrite Engine. На третьей строке, если наш запрос не соответствует регулярному выражению, то мы перенаправляем пользователя на скрипт view.php, с кодом 403 и статусом Forbidden Response (Нет достаточно прав для просмотра страницы). [S] и [F] – флаги, далее показывается, что они означают.

Список флагов .htaccess

Всего флагов 15 штук в общем. Флаги могут быть добавлены в конец правила перенапрвления с целью изменения поведения сервера Apache.

Redirect R

Этот флаг используется для того, чтобы перенаправить URL. Код статуса по умолчанию 302 (Найден). Вы можете поменять код статуса на, например, 301 (Временно перемещен) используя флаг с параметром [R=301]

Forbidden F

Немедленно завершает обработку запроса и возвращает статус 403 (Запрет просмотра)

Gone G

Возвращает код 401, что означает, что запрошенный файл больше не существует

Proxy P

Прокси запрос, обрабатываемый другим модулем

Last L

После данного флага обработка всех последующих перенаправлении останавливается

Next N

Заставляет начать обработку запроса по новой, используя результаты предыдущего запроса

Chain C

Заставляет перейти к следующему правилу

NoSubreq NS

Пропускает запрос, если он является внутренним подзапросом и не является прямым запросом от пользователя

NoCase NC

Нечувствительность к регистру символов

QSAppend QSA

Добавляет к запросу все данные после знака ?. Пример: запрос myrusakov.ru/user/?name=Aleksei преобразуется в myrusakov.ru/user.php?name=Aleksei. Если же флаг отсутствует то получим просто myrusakov.ru/user.php

NoEscape NE

Не экранировать URL, в противном случае все символы наподобие % и $ будут заменены их шестнадцатеричными эквивалентами.

Passthrough PT

Передает обработку запроса другим модулям Apache

Skip S

Флаг S используется для перехода к следующему правилу, если есть соответствие текущему правилу. Можно пропустить несколько правил, указав число. Например: [S=3]

Env E

Используется для установки переменной окружения

Type T

Устанавливает MIME тип ответа

Разрешается использовать несколько флагов для правила, например, [L, QSA]

Список условных правил

С помощью использования инструкции RewriteCond можно сделать правила перенаправления, зависящими от некоторых условий. Вместо использования синтаксиса RewriteRule с его регулярными выражениями, вы можете использовать условные правила. Далее представлен список условных правил, которые могут быть использованы в файле конфигураций .htaccess:

HTTP Заголовки

  • HTTP_HOST
  • HTTP_REFERER
  • HTTP_COOKIE
  • HTTP_FORWARDED
  • HTTP_USER_AGENT
  • HTTP_PROXY_CONNECTION
  • HTTP_ACCEPT

Запросы

  • REMOTE_IDENT
  • REMOTE_HOST
  • REMOTE_USER
  • REMOTE_ADDR
  • REQUEST_METHOD
  • SCRIPT_FILENAME
  • PATH_INFO
  • QUERY_STRING
  • AUTH_TYPE

Внутренние переменные

  • DOCUMENT_ROOT
  • SERVER_ADMIN
  • SERVER_ADDR
  • SERVER_NAME
  • SERVER_PORT
  • SERVER_PROTOCOL
  • SERVER_SOFTWARE
  • API_VERSION
  • THE_REQUEST
  • REQUEST_URI
  • REQUEST_FILENAME
  • IS_SUBREQ

Дата и время

  • TIME_YEAR
  • TIME_MON
  • TIME_WDAY
  • TIME_HOUR
  • TIME_MIN
  • TIME_SEC
  • TIME_DAY
  • TIME

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

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

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (5):

romas_s romas_s 25.12.2017 13:50:14

спасибо за статью, жаль что без единого примера, как и прочие 99% статей в интернете. Самое интересное в .htacces - это регулярки, подробные инструкции к которым отсутствуют. Сделайте статью по регулярках htaccess - многие спасибо скажут.

Ответить

Castels Castels 02.01.2018 11:41:00

Спасибо, за Ваш комментраий! Сделаем. Только поясните, пожалуйста, что Вы имеете ввиду про "регулярки htaccess"?

Ответить

romas_s romas_s 02.01.2018 20:58:22

имелось в виду - составление регулярных выражений в htaccess Желательно полный список правил регулярных выражений которые можно использовать Вот список моих правил регулярных выражений собранный с огромного количества источников. https://info.za500.biz/programmirovanie/item/regulyarnye-vyrazheniya-manual Можете по аналогии составить мануал регулярок htaccess

Ответить

Castels Castels 02.01.2018 23:26:20

Понятно. Обязательно напишу статью про примеры регулярных выражений, которые могут использоваться в htaccess. А не могли бы Вы еще сказать статьи по каким темам Вам хотелось бы увидеть на сайте?

Ответить

romas_s romas_s 03.01.2018 22:40:20

############################## 1.запросы в базу данных. Пройдя оба курса PHP c 0 до гуру и PHP 2.0, в обоих курсах совсем мизер информации по запросах и 0 информации про сложные запросы. Вот что я смог нарыть по крупице с интернета: https://info.za500.biz/programmirovanie/item/manual-po-zaprosah-mysql ############################## 2. PHP yaild - оооооочень кратко описан данный генератор, хотелось бы по больше информации о нем узнать, 2-х мерные массивы, хранение результатов запросов с базы данных и т д. ############################## 3. JS - в вашем в курсе по JS - отсутствует информация о работе со свойствами объектов, единственное что рассматривается, так это замета текста в блоке. отсутствует информация создания анимации на JS. отсутствуют примеры добавления к присвоенным стилям элементам html новых стилей через JS, замена стилей CSS с использованием JS. ############################## 4. правила написания регулярных выражений в JS, желательно полный список правил. ############################## 5. хотелось бы увидеть полный курс по CSS а не демо версию мах 30% всех свойств - это я намекаю на создание нового курса, который будет охватывать все стили CSS, желательно с указанием совместимости стилей с разными браузерами. Правила префиксов для всех браузеров. ############################## 6. или статьи или курс, по правилах правильного моделирования структуры базы данных, как правильно составлять связи между таблицами, основные модели реализации структуры базы данных. Хотя бы описать золотые правила составления структуры и связей в базе данных. ############################## 7. PHP - синтаксис работы с разными типами баз данных. ############################## 8. добавить на Ваш форум скрипт автоматического редиректа клонов материалов https://info.za500.biz/programmirovanie/joomla/item/udalyaem-klony-stranichek-c-redirektom-url правда в нем не хватает редиректа куков #erfxfxwfs и можно сказать что любой сайт на любой CMS будет без единого клона. 9. CSS - создание анимации, трансформирование и т д.

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.