Сайт по Электронике и Web-разработке
Как сделать свой сайтКак сделать свой сайт
Что такое ЧПУ ссылка? ЧПУ ссылка это в двух словах (человекопонятная ссылка). Более подробно узнаете из этой статьи.

Как сделать ЧПУ ссылки на сайт?

чпу ссылки

Здравствуйте мои дорогие читатели! В этой статье я хочу поделится с вами способом создания ЧПУ ссылок на сайт и выборкой контента из базы используя ЧПУ ссылки.
Не так давно на моем сайте были динамические ссылки но я решил сделать ЧПУ ссылки так называемые(человеко-понятные ссылки) или как их еще называют SEF-ссылки где в переводе (дружелюбная для поисковиков ссылка). Для тех кто не знает как выглядят динамические и ЧПУ ссылки могут посмотреть ниже на картинке.

чпу ссылки

Что такое ЧПУ ссылка? Ссылка ЧПУ не указывает на конкретный html или php файл, данного файла на самом деле нет, а необходима для наилучшего понимания пользователями на какой странице они находятся. В свою очередь поисковыми роботами ЧПУ ссылки лучше ранжируются.

Поскольку контент сайта находится в базе данных сайта его необходимо извлечь оттуда и представить в качестве страницы сайта. Для того, чтобы извлечь контент из таблицы базы данных необходимо с помощью файла .htaccess сделать некоторые преобразования все той же ЧПУ ссылки в динамическую ссылку.

Процесс создания ЧПУ ссылок состоит из двух этапов: 1 - этап, создание файла .htaccess.txt с написанием необходимого кода для преобразования ссылок; 2 - этап, создание необходимых таблиц в базе данных сайта.

Итак приступим к изучению материала статьи!

Если у вас на хостинге нет файла .htaccess.txt, настоятельно рекомендую его создать. Создать его можете в обычном блокноте. Создав файл вы должны будете написать несколько строчек, например таких как:

чпу ссылки

Теперь хочу разъяснить вам что делает каждая директива в этом файле!
Модуль MOD_REVRITE занимается преобразованием статических ссылок в динамические и наоборот.

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

RewriteRule - производит подстановку параметров извлеченых из ссылки с помощью регулярного выражения - ^(.*)/(.*).html? в переменыне $1 и $2. Хочу вам порекомендовать прочесть статью по созданию зеркала сайта, где так же используя файл .htaccess.txt .

Переменные в свою очередь передаются в GET - параметры (p и g). C помощью некоторого скрипта используя полученные данные $_GET['p'] и $_GET['g'], происходит извлечение контекста статьи из базы данных. Подобный скрипт вы можете посмотреть ниже и дополнить его по своему усмотрению.

чпу ссылки

Приведенный ниже скрипт должен быть на каждой странице сайта.

чпу ссылки

Следующим шагом вы должны создать таблицу под названием - links или как то еще, в базе данных с описанием ЧПУ ссылок.

чпу ссылки

По полю id_links таблицы links извлекается ключ который в свою очередь должен должны ссылаться на ту таблицу в которой у вас будет содержаться контент страницы. Рекомендую вам сделать по таблице ЧПУ ссылок на каждую тематику сайта если таковых несколько на сайте, чтобы в будущем не путатся.

Вот я и описал вам принцип создания ЧПУ ссылок, вместе с тем и принцип выборки страниц из базы данных сайта.