<MyRusakov.ru />

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

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

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

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

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

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

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

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

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

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

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

ЧПУ на mod_rewrite

ЧПУ на mod_rewrite

Я уже разбирал в своё время, как сделать ЧПУ-ссылки. Но в некоторых более простых случаях ЧПУ-ссылки можно сделать через mod_rewrite. Вот об этом я расскажу в этой статье, а также покажу пример реализации подобного механизма.

Предположим, что Ваши ссылки имеют следующий вид:

http://mysite.ru/?view=article&id=1
http://mysite.ru/?view=article&id=2
http://mysite.ru/?view=article&id=3

А Вы хотите сделать их вот такими:

http://mysite.ru/article/1
http://mysite.ru/article/2
http://mysite.ru/article/3

Очевидно, что второй вариант проще, короче и, самое главное, будет лучше индексироваться поисковыми системами. Теперь разберём, как это можно сделать через mod_rewrite:

RewriteEngine on
RewriteRule ^.*article/(.*)$ index.php?view=article&id=$1

Здесь мы написали правило по которому, если запрашиваемый URL удовлетворяет регулярному выражению "^.*article/(.*)$" (например, такой URL пройдёт "http://mysite.ru/article/2"), то сделать "перенаправление" вот на этот адрес "index.php?view=article&id=$1", где $1 - содержимое первой (в нашем примере и единственной) группирующей скобки в регулярном выражении.

Обратите внимание, что "перенаправление" я указал в кавычках, поскольку для пользователя никакого перенаправления не происходит. У него URL в адресной строке никак не меняется, а остаётся прежним. А вот обращение происходит не к директории article и поддиректории 2, а к файлу index.php с соответствующим GET-запросом. Поэтому несмотря на отсутствие в URL из адресной строки браузера всяких GET-параметров, если выполнить в index.php следующий код:

<?php
  print_r($_GET);
?>

То Вы увидите вот это: "Array ( [view] => article [id] => 1 )". А дальше уже, думаю, понятно, что делать с этими входными данными.

В данной статье я показал, как делаются ЧПУ-ссылки на mod_rewrite. И обратите внимание, что это лишь обработка входящего URL. И ещё надо, чтобы на страницах все ссылки были именно ЧПУ. И чтобы это сделать, их тоже нужно заменять, и здесь без PHP никак не обойтись. Если вдруг Вы не знаете, как заменять обычные ссылки на ЧПУ, то настоятельно рекомендую пройти этот курс.

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

ppk-center ppk-center 26.02.2014 14:16:42

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

Ответить

kruty kruty 01.03.2014 20:45:15

До речі, є інструмент що переробить це для nginx: http://winginx.com/ru/htaccess

Ответить

Ильюха Ильюха 18.11.2014 19:59:32

В платном уроке "PHP/MySQL" при создании движка как раз такой формат URL: http://test/?view=article&id=1 Включаю .htaccess - ноль реакции. Почему? Что-то в Денвере менять?

Ответить

Valery Valery 31.07.2015 11:14:20

Уважаемый Михаил, объясните пожалуйста, для чего в строке RewriteRule ^.*article/(.*)$ index.php?view=article&id=$1 стоят символы ".*" перед "article". Насколько я понимаю, часть пути перед словом article автоматически должна быть путём к папке, где лежит данный файл .htaccess

Ответить

Igori Igori 30.03.2016 09:02:38

Решил сделать ЧПУ ссылки через mod_rewrite и написал такое правило: RewriteEngine On RewriteRule ^(.*)/(.*)$ index.php?p=$1&g=$2 [NC,L], параметры передаются , а вот стили перестали подгружаться на сайт! Скажите Михаил, из-за чего это может быть? Если вам не трудно напишите верное правило. Спасибо!

Ответить

Igori Igori 30.03.2016 13:04:02

Подобрал правило, и написал так: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)/(.*)? index.php?p=$1&g=$2 [QSA,NC,L] , теперь при загрузке сайта стили подгружаются, а картинки не грузятся. Что у меня не так? Подскажите кто знает, что надо еще сделать с правилом?

Ответить

vpsev vpsev 23.09.2016 12:35:58

У меня были такие же проблемы: CSS не подгружается. Решение такое: 1) Добавляем строку для параметров RewriteRule ^.*articleblog/(.*)$ articleblog?id=$1 [QSA] 2) В ссылке на файл стилей в заголовке <link rel="stylesheet" href="/styles/main.css" type="text/css" /> должно быть "/styles/main.css" а не "styles/main.css" (см./www.phpinfo.su/articles/practice/chpu_na_php.html) 3) для иконок то же условие, что и для стилей: путь к иконке должен быть "/images/avatars/icon.png", а не "images/avatars/icon.png"

Ответить

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