ЧПУ и mod_rewrite - AVACS Live Chat - ФОРУМ
ЧПУ и mod_rewrite - AVACS Live Chat - ФОРУМ      Новые сообщения   Список пользователей   Радио      Новые фотографии
Комнаты чата...  
Последнии обновления Самые активные пользователи Лучшии пользователи Новые пользователи
ЛЮБОВЬ В ЧАТЕ (400) Ответил: Wild_AngeL

MODO+ДЕЛ (8) Ответил: «ÑãßãжÐêÑ¡ê»

ΞПремиумΞ (161) Ответил: «ÑãßãжÐêÑ¡ê»

Приватная для старичков (149) Ответил: ¾☻ålükärΔ☻¾

*Россия* (289) Ответил: ¾☻ålükärΔ☻¾

1. ०тẠ6äчØκЪъ० (1030)

2. FATAL1TY (1020)

3. fintoz (756)

4. φعЙζ۰♠۰kŌŊŧקΘЉ (713)

5. @@@ (653)

1. Brother (25)

2. «ÑãßãжÐêÑ¡ê» (24)

3. ०тẠ6äчØκЪъ० (23)

4. livechat (20)

5. vic1 (19)

beaumenax (20.05.2012 в 08:54:06)

Clexowelp (19.05.2012 в 17:18:35)

Laska (19.05.2012 в 10:51:51)

Cymnkeync (18.05.2012 в 16:04:40)

labespapoma (18.05.2012 в 10:54:27)


Пришел, увидел и ушел.

Страница 1 из 11
AVACS Live Chat - ФОРУМ » Общий форум » Программирование » ЧПУ и mod_rewrite (примеры использования)
ЧПУ и mod_rewrite
livechatДата: Пт, 10.07.2009, 19:05:50 | Сообщение # 1




За активность на форуме За создание форума За верность чату
Для начала хочу рассказать немного о том что такое ЧПУ blink


ЧПУ (англ. Friendly URL) — веб-адреса, удобные для восприятия человеком (а также систем и методов построения таких адресов). Является аббревиатурой от словосочетания «человекопонятный url»


Обычно параметры запроса (например, ID нужной страницы) передают сайту через GET-запрос, то есть указывая в URL после вопросительного знака в виде:
/acticles.php?tag=summer&action=list — просмотр списка статей с меткой summer (лето).
/news.php?topic=4&year=2003&month=10&sort=1 — отсортированные новости по теме 4 за октябрь 2003.
/catalogue.php?sect=11&kind=6&manuf=63 — товары производителя 63 типа 6 в отделе 11.


Это вполне понятно и естественно для разработчиков и программ, но не совсем понятно и не удобно для посетителей. Даже если числовые идентификаторы полностью заменить на человеческие слова, то адрес всё равно останется очень громоздким. А когда параметров много и у них длинные названия, то URL может не помещаться полностью в адресную строку создавая дополнительные неудобства. В итоге URL становится непригодным для человека.


Также адреса часто становятся привязанными к технической реализации, так как, например, в «чистом» PHP часть URL до вопросительного знака указывает на файл скрипта.


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


Те же самые примеры, но с ЧПУ будут выглядеть уже так:
/articles/by-tags/summer.html — статьи по меткам, метка «лето».
/news/sport/2003/10/ — новости спорта, 2003 год, октябрь.
/catalogue/light/bulbs/ge/ — каталог товаров, отдел «Свет», лампочки, производитель GE.


Достоинства для посетителя очевидны:
подобные адреса очень легко запомнить;
можно продиктовать URL по телефону;
чтобы перейти на уровень вверх достаточно стереть нужную часть пути;
если человек уже был на вашем сайте и набирает адрес вручную, то он сразу может обратиться к нужному ему документу глядя на URL’ы предыдущих запросов.

Недостатки:
увеличение затрат ресурсов сервера для большинства реализаций;
усложнение настройки сайта в связи с необходимостью вмешиваться в конфигурационные файлы веб-сервера.

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ:



1) Переделываем "product.php?id=12" в "product-12.html"
Это простое перенаправление, в котором расширение .php спрятано из адресной строки браузера и динамический УРЛ (с знаком вопроса "?") преобразован в статический адрес
Code
RewriteEngine on
         RewriteRule ^product-([0-9]+)\.html$ product.php?id=$1

2) Переделываем "product.php?id=12" в "product/ipod-nano/12.html"
Эксперты SEO всегда предлагают показывать главное ключевое слово в УРЛе. В пример Вы можете видеть название продукта в УРЛе.
Code
RewriteEngine on
         RewriteRule ^product/([a-zA-Z0-9_-]+)/([0-9]+)\.html$ product.php?id=$2

3) Перенаправление адресов без www URL на адреса с www
Если Вы введете yahoo.com в браузере, Вас перенаправит на www.yahoo.com. Для проделывания такой же операции на Вашем сайте добавьте следующий код в файл .htaccess:
Code
RewriteEngine On
         RewriteCond %{HTTP_HOST} ^optimaxwebsolutions\.com$
         RewriteRule (.*) http://www.yousite.com/$1 [R=301,L]

Для чего делать такой редирект? Чтобы избежать дублирования сайта поисковиками с www и без www.
4) Переделываем "yoursite.com/user.php?username=xyz" в "yoursite.com/xyz"
В файл .htaccess добавляем следующие строки:
Code
RewriteEngine On
         RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?username=$1
         RewriteRule ^([a-zA-Z0-9_-]+)/$ user.php?username=$1

5) Перенаправление домена на новый поддомен или папку.
Допустим, Вы сделали редизайн на сайте и обновленный сайт находится в папке “new” в корне сайта. То есть новый сайт доступен по адресу “test.com/new”. Перенос файлов из одного места в другое может быть довольно трудоемким процесом, так что просто добавьте следующие строки в файл .htaccess и разместите его в корневой папке:
Code
RewriteEngine On
         RewriteCond %{HTTP_HOST} ^test\.com$ [OR]
         RewriteCond %{HTTP_HOST} ^www\.test\.com$
         RewriteCond %{REQUEST_URI} !^/new/
         RewriteRule (.*)   /new/$1

Теперь при обращение к "www.test.com" все файлы будут браться из “test.com/new” hands




 
  

AVACS Live Chat - ФОРУМ » Общий форум » Программирование » ЧПУ и mod_rewrite (примеры использования)
Страница 1 из 11
Поиск:

Посетители:
Хостинг от uCoz
Дизайн