Блог веб разработки статьи | видеообзоры | исходный код

Блог веб разработки статьи | видеообзоры | исходный код

webfanat вконтакте webfanat youtube

ЧПУ htaccess

ЧПУ htaccess

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

ЧПУ расшифровывается как человеко-понятные url. То есть эти ссылки визуально имеют более упрощенную структуру. Примеры:

Обычная ссылка:

https://mysite.com/news.php?id=54

ЧПУ ссылка:

https://mysite.com/news/54

Эти ссылки по сути ведут на одну и ту же страницу, но имеют разную структуру. Согласитесь что ЧПУ ссылка по сравнению с обычной лучше воспринимается. В данном примере это реализовано за счет скрытия расширения файла и передаваемого параметра. Благодаря этому, такая ссылка содержит меньше символов и лучше индексируется поисковыми роботами. Ну да ладно! Теперь перейдем к созданию ЧПУ ссылок.

В примере мы будем преобразовывать ссылку типа https://mysite.com/news.php?id=54 в ЧПУ https://mysite.com/news/54.

Для этого нам понадобится создать служебный файл .htaccess.

Сразу скажу что этот файл не имеет названия и содержит только расширение htaccess.

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

RewriteEngine on

RewriteRule ^([a-z]+)/([0-9]+)/? $1.php?id=$2 [L]

Первой строчкой мы активизируем механизм mod_rewrite. Он дает возможность делать перенаправления с одного url адреса на другой. Во второй строчке мы пишем правило которое говорить что если в url встречается строка соответствующая первому шаблону регулярного выражения (^([a-z]+)/([0-9]+)/? ) ,то мы делаем перенаправление на второй шаблон ($1.php?id=$2). Третий параметром передается флаг L который служит для остановки текущей итерации обработки запроса.

Во втором шаблоне у нас указаны $1 и $2 - это по сути подшаблоны первого шаблона которые указаны в скобочках.

$1 - соответствует подшаблону ([a-z]+)

$2 - соответствует подшаблону ([0-9]+)

То есть найденные соответствия подшаблонов первого шаблона подставляются во второй шаблон.

В результате отработки данного кода, если придет запрос по url https://mysite.com/news/54 ,то произойдет перенаправление на адрес https://mysite.com/news.php?id=54. И в итоге нам загрузится страница по адресу https://mysite.com/news.php?id=54, а url в адресной строке останется https://mysite.com/news/54.

Мы также можем спокойно менять передаваемый параметр id.

https://mysite.com/news/23

Здесь мы перейдем на ту же страницу, но уже с параметром ?id=23.

И еще с помощью данного правила мы можем переходить на любую другую существующую страницу которая на находится на том же уровне что и news.php, с передаваемым параметром id.

К примеру:

https://mysite.com/test/23

Здесь мы перешли на страницу test.php c параметром id=23 (https://mysite.com/test.php?id=23)

А здесь мы перейдем

https://mysite.com/user/3

на страницу user.php с параметром id=3 (https://mysite.com/test.php?id=23).

И так далее...

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

На этом данная статья подошла к концу. Если остались вопросы пишите их в комментариях или группе

вк.

Я с вами прощаюсь. Желаю успехов и удачи! Пока.

Оцените статью:

Статьи

Разработки

Комментарии

AlfredVem

22:33 14-10-2019

<a href=https://idproject.info/full/igry>Game</a> <a href=https://idproject.info/full/igry>Game</a>

Amadosar

12:21 14-10-2019

<a href=https://kgproject.info/it/bad-barbers/r6eZsIuBYWi7oJw><img src="https://i.ytimg.com/vi/xo3yXN-1Yjk/hqdefault.jpg"></a> Bad <a href=https://kgproject.info/it/bad-barbers/r6eZsIuBYWi7oJw>Barbers</a> Bad Haircuts - animation

Derrickslill

17:22 13-10-2019

<a href=https://idproject.info/it/udil-pria/k2Fpq4hooNd1m6g><img src="https://i.ytimg.com/vi/a12zT6orAjo/hqdefault.jpg"></a> UDIL PRIA YANG BERTANGGUNG <a href=https://idproject.info/it/udil-pria/k2Fpq4hooNd1m6g>JAWAB</a> - LANDAK WARRIOR CHALLENGE WEEK 7

MichaelgichE

13:22 13-10-2019

<a href=https://lvproject.info/it/i-survived/nbrgm5yMwpei0oY><img src="https://i.ytimg.com/vi/iYzfeWaenlU/hqdefault.jpg"></a> I Survived Hardcore Minecraft For 100 Days And This Is What <a href=https://lvproject.info/it/i-survived/nbrgm5yMwpei0oY>Happened</a>

RebeccaTaf

18:13 11-10-2019

<a href=https://azsel.info/video/kimse-bilmez/yKbUha9-1XPNnKg.html><img src="https://i.ytimg.com/vi/frpPLNtClhE/hqdefault.jpg"></a> <a href=https://azsel.info/video/kimse-bilmez/yKbUha9-1XPNnKg.html>Kimse Bilmez 16. Bölüm</a>

Noreenten

23:39 10-10-2019

<a href=https://svsel.info/video/samsung-galaxy/wmS3ZWyUqt2bunM.html><img src="https://i.ytimg.com/vi/a4T152zw8YA/hqdefault.jpg"></a> Samsung Galaxy Fold | <a href=https://svsel.info/video/samsung-galaxy/wmS3ZWyUqt2bunM.html>Preview</a> en espaГ±ol

ChristyMax

13:52 10-10-2019

<a href=https://lvmind.info/povtoraem-foto/ubSg2YCwZq2nems.html><img src="https://i.ytimg.com/vi/SQixNz1IrJ4/hqdefault.jpg"></a> ПОВТОРЯЕМ ФОТО ИЗВЕСТНЫХ ПАР <a href=https://lvmind.info/povtoraem-foto/ubSg2YCwZq2nems.html>2</a>

WendyBligh

10:39 10-10-2019

<a href=https://itgos.info/prima-live/a3mR0Gy8h2OGqNk.html><img src="https://i.ytimg.com/vi/8CXn8XS0Oss/hqdefault.jpg"></a> <a href=https://cngos.info/ha-ha-tai-de-qu-de-jie-fangep7/sKqZuryUeX2y3I4.html>гЂЉе“€е“€еЏ°ењ°еЌЂзљ„иЎ—иЁЄгЂ‹EP7 рџЋ¤ дёЉзЏ­ж™‚й–“зљ„жќѕе±±еЌЂй–’дєєпЅње“€е“€еЏ°</a>

KiaEvive

04:45 30-07-2019

<a href="http://cafergot1.com/">generic cafergot</a>

Реклама

Запись экрана

Данное расширение позволяет записывать экран и выводит видео в формате webm