Создание ЧПУ в PHP скриптах
Для создания ЧПУ (человеку понятных URL) используется модуль Apache - "mod_rewrite". Он позволяет незаметно для пользователя переадресовывать с одного URL на другой.

Mod_rewrite по умолчанию идет в комплекте с сервером Apache, поэтому устанавливать его нет необходимости. Но он почти всегда выключен, поэтому его надо включить с помощью файла ".htaccess":

Код:
RewriteEngine on

Данной строкой мы включили mod_rewrite. Теперь нужно настроить перенаправление.

Допустим у нас имеется скрипт "articles.php", которому в GET параметре должно передаваться ID категории и ID статьи. Т.е.:

Код:
articles.php?category=5&article=235

Нам нужно добиться следующего вида URL:

Код:
articles/5/235.html

Для этого в конец файла ".htaccess" пишем строку:

Код:
RewriteRule ^articles/([0-9]+)/([0-9]+).html$ articles.php?category=$1&article=$2

Между символами "^" и "$" заключается регулярное выражение, которое описывает ЧПУ, в скобках идут передаваемые параметры. Далее идет страница, на которую будет перенаправляться наш ЧПУ. $1 значит первый параметр, который указан в скобках регулярного выражение, $2 - второй и т.д. Их может быть бесконечное множество.

Так-же перенаправление, может принимать разные параметры. Я знаю только, один, так как в других пока не нуждался. Этот параметр - [R], добавляется в конце условия перенаправления, т.е.:

Код:
RewriteRule ^articles/([0-9]+)/([0-9]+).html$ articles.php?category=$1&article=$2 [R]

Данный параметр предназначен для того, что бы человек видел, что происходит перенаправление. Т.е. в браузере будет заменяться адресная строка.