Как сделать ЧПУ для сайта на PHP

Как сделать ЧПУ для сайта на PHP

Написано Denis

Категория: Программирование

(Человеко-Понятные Урлы) или SEF (англ. Search Engines Friendly url). Как правило, при разработке проектов на PHP, содержимое динамической страницы зависит от переданного через GET параметра и URL выглядит следующим образом:

yourdomain.com/index.php?id=201


в данной случае намного аккуратнее смотрелась бы ссылка вида:

yourdomain.com/201/

yourdomain.com/201.html

а ещё лучше:

yourdomain.com/name-page.html

Как это сделать? Рассмотрим самый простой вариант: наш сайт обрабатывает все страницы через файл index.php и содержимое страницы определяется только одной переменной – id. В таком случае механизм преобразования из /index.php?id=201 в /name-page.html будет иметь следущий вид:

 

Блок-схема обработки ЧПУ (SEF)

 

1) Определяем существует ли запрашиваемый путь в реальности. Если есть – отдаём файл, без дополнительной обработки, в противном случае необходимо загрузить index.php, который обработает несуществующий ЧПУ. Реализуется этот механизм при помощи правил, прописанных в файле с именем .htaccess.

Файл .htaccess должен находиться в корневой директории. Создать и править .htaccess можно в обычном текстовом редакторе.

 

Содержимое файла .htaccess:

 

RewriteEngine On – разрешаем серверу преобразовывать URL.

RewriteBase / – устанавливаем базовый URL.

RewriteCond %{REQUEST_FILENAME} !-f – проверяем, что запрошенной директории не существует.

RewriteCond %{REQUEST_FILENAME} !-d – проверяем, что запрошенного файла не существует.

RewriteRule . /index.php [L] – если два верхних условия выполнены – передаём обработку в файл index.php

 

MySQL

2) Создаём в БД табличку соответствий ЧПУ и ID_page примерно такого плана:

 

SEF
varchar(255)
ID_page
int(11)
index 1
page 2
page-name 3

 

PHP

3) Содержимое файла index.php, из комментариев в коде ясно, как это работает.

 

 

Вот, в целом, и всё ;).

86 комментариев к статье Мне интересно ваше мнение!

  1. SemenJem:

    Немало пересматривал материалы интернет, при этом к своему восторгу обнаружил красивый сайт. Это он: [url=http://vzlomchik.com/shpion_topface.html]Шпион сообщений TopFace[/url] . Для моих близких данный сайт оказал яркое впечатление. Всех благ!

  2. hma auktioner blahoj:

    on the uninjured because they’re not getting passably blood deluge to the penis, which could be the up with to pass of being overweight, smoking, increased cholesterol, masterful blood gratify, diabetes, or cardiovascular disease. So the in guise inconsistent with in your penis growing macal.jordenssalt.com/sadan-ansoger-du/hma-auktioner-blhj.php conduct try unserviceable should be to expect the shut-eye of your synthesizing nourishing — conspicuously your cardiovascular system. What’s ok for the guts is godlike in remuneration after the penis, says Fisch.

  3. TarasJem:

    Утром изучал данные инет, при этом к своему удивлению обнаружил нужный сайт. Вот посмотрите: [url=http://vzlomchik.com/blokirovka_viber.html]Блокировка или удаление аккаунта Viber[/url] . Для меня данный ресурс показался весьма неплохим. Всего хорошего!

  4. shpigNow:

    Шпигоцкий Сергей Александрович победил в номинации человек года
    Шпигоцкий Сергей Александрович является одним из наиболее креативных предпринимателей в своем крае
    Биография Шпигоцкого Сергея Александровича является кристально чистой и в ней отсутствуют судимости и уд
    По Шпигоцкому Сергею Александровичу не обнаружено негативных данных и судимостей

  5. nostradamus forudsigelser muslimer:

    Irritate improves arterial fettle, allowing more blood into the penis. But exercising the penis corec.venstremand.com/sadan-ansoger-du/nostradamus-forudsigelser-muslimer.php itself is pointless. The bonking media every so continually refer to the penis as the “swindle out of b passion muscle,” implying that like the biceps, certain exercises can buff it up. But there are branch off kinds of muscle tissue. The penis contains unperturbed muscle, not the category that gets bigger with exercise. Yield the unequalled belly, because a prominent belly encroaches on the derive of the penis, making the daily look smaller. Suffer the loss of abdominal gross, and your penis looks larger.

  6. Matthewjem:

    Hello. And Bye.


Оставьте комментарий Высказывайте свои мысли по этой теме


пять + 8 =