 |
|
 |
|
| livechat | Дата: Пт, 10.07.2009, 19:05:50 | Сообщение # 1 |
Ник: livechat
Имя: Димасик
Пол: Мужчина
Группа: Support
Регистрация: 07.07.2008
Сообщений: 591
Репутация: 20
Ранг: Генералиссимус
| Для начала хочу рассказать немного о том что такое ЧПУ ЧПУ (англ. 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”
|
| |
|
|
|
 |
|
 |
|