5 примеров использования mod_rewrite

Данный урок более детально расскажет Вам про интересную функцию mod_rewrite с примерами.

Для тех кто не в курсе что такое mod_rewrite советую почитать про ЧПУ на Википедии. Именно этот модуль веб сервера делает ЧПУ возможным.

Ниже приведены 5 примеров использования данного модуля:

1) Переделываем "product.php?id=12" в "product-12.html"

Это простое перенаправление, в котором расширение .php спрятано из адресной строки браузера и динамический УРЛ (с знаком вопроса "?") преобразован в статический адрес

RewriteEngine on
RewriteRule ^product-([0-9]+)\.html$ product.php?id=$1

2) Переделываем "product.php?id=12" в "product/ipod-nano/12.html"

Эксперты SEO всегда предлагают показывать главное ключевое слово в УРЛе. В пример Вы можете видеть название продукта в УРЛе.

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:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^optimaxwebsolutions\.com$
RewriteRule (.*) http://www.optimaxwebsolutions.com/$1 [R=301,L]

УРЛ сайта, конечно же, поменяйте на свой. Для чего делать такой редирект? Чтобы избежать дублирования сайта поисковиками с www и без www.

4) Переделываем "yoursite.com/user.php?username=xyz" в "yoursite.com/xyz"

В файл .htaccess добавляем следующие строки:

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 и разместите его в корневой папке:

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”

Спасибо за внимание! Ждите новых статей по mod_rewrite.

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.roshanbh.com.np
Перевел: Максим Шкурупий
Урок создан: 25 Июня 2009
Просмотров: 124732
Правила перепечатки


5 последних уроков рубрики "Разное"

^ Наверх ^