Чпу на mod_rewrite

ЧПУ на mod_rewrite

Я вже розбирав свого часу, як зробити ЧПУ-посилання. Але в деяких більш простих випадках ЧПУ-посилання можна зробити через mod_rewrite. Ось про це я розповім в цій статті, а також покажу приклад реалізації подібного механізму.

Припустимо, що Ваші посилання мають такий вигляд:

http://mysite.ru/?view=articleid=1
http
://mysite.ru/?view=articleid=2
http
://mysite.ru/?view=articleid=3

А Ви хочете зробити їх ось такими:

Відео: Чпу на сайті

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



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

Відео: Робота з файлом .htaccess (Частина 2) [GeekBrains]

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

Тут ми написали правило за яким, якщо запитуваний URL задовольняє регулярному виразу "^. * Article /(.*)$"(Наприклад, такий URL відбудеться Всеукраїнський фестиваль "http://mysite.ru/article/2"), То зробити" перенаправлення "ось на цю адресу"index.php? view = articleid = $ 1", Де $ 1 - вміст першої (в нашому прикладі і єдиною) групуючій дужки в регулярному виразі.

Відео: ЧПУ не прощає помилок! Повстання машин неминуче!

Зверніть увагу, що "перенаправлення" я вказав в лапках, оскільки для користувача ніякого перенаправлення не відбувається. У нього URL в адресному рядку ніяк не змінюється, а залишається тим самим. А ось звернення відбувається не до директорії article і піддиректорії 2, а до файлу index.php з відповідним GET-запитом. Тому незважаючи на відсутність в URL з адресного рядка браузера всяких GET-параметрів, якщо виконати в index.php Наступного код:

lt ;?php
print_r
($ _GET) -
?gt;

Те Ви побачите ось це: "Array ([view] = gt; article [id] = gt; 1)". А далі вже, думаю, зрозуміло, що робити з цими вхідними даними.

Відео: Ваза з сітчастим малюнком на ЧПУ

У даній статті я показав, як робляться ЧПУ-посилання на mod_rewrite. І зверніть увагу, що це лише обробка вхідного URL. І ще треба, щоб на сторінках все посилання були саме ЧПУ. І щоб це зробити, їх теж потрібно замінювати, і тут без PHP ніяк не обійтися. Якщо раптом Ви не знаєте, як замінювати звичайні посилання на ЧПУ, то настійно рекомендую пройти цей курс.

Поділися в соціальних мережах:

Схожі
Робота з denwerРобота з denwer
Lake view willow landscape hdLake view willow landscape hd
Використання rewritecond в mod_rewriteВикористання rewritecond в mod_rewrite
Як зробити 2 домену на 1 сайтЯк зробити 2 домену на 1 сайт
Сайт з www і безСайт з www і без
Скорочення url-адреси на phpСкорочення url-адреси на php
Налаштування сайту на joomlaНалаштування сайту на joomla
Як налаштувати https-з`єднання?Як налаштувати https-з`єднання?
Як прибрати index.php з urlЯк прибрати index.php з url
Як запускати php-кодЯк запускати php-код
» » Чпу на mod_rewrite