Почему важны URL?
Статические URL и динамические URL
Статические URL
Динамические URL
URL-адреса и CTR
URL-адреса и дублированный контент
URL-адреса в реальном мире
Пример 1: динамические URL-адреса
Пример 2: числовая подмена в URL-адресах
Пример 3: URL-адреса со вставленными ключевыми словами
Поддержка согласованности URL-адресов
Подмена URL
Инсталляция mod_rewrite
Тестирование mod_rewrite

Введение в регулярные выражения

Многим регулярные выражения нравятся, а многие другие их ненавидят. Многие думают, что с ними очень трудно работать, а многие другие (ну, может быть, не настолько многие) считают, что это сплошное удовольствие. Но в любом случае это один из обязательных инструментов при подмене URL. Мы попытаемся представить здесь краткое введение в данную тему, хотя по ней написаны целые книги. Имеются даже книги, посвященные mod_rewrite, в которых значительное место отведено под регулярные выражения. В качестве вводной информации можно порекомендовать замечательную страницу Википедии (http://ru.wikipedia.org) "Регулярные выражения".
Регулярное выражение (regular expression, иногда сокращается до regex) — это специальная строка, описывающая текстовый шаблон (pattern). Регулярные выражения позволяют определять правила, которые применимы к группам строк, выбирать данные из таких строк и преобразовывать эти строки — все это позволяет выполнять очень гибкие и сложные манипуляции с помощью лаконичных правил. Регулярные выражения присутствуют не только в mod_rewrite и подмене URL. Наоборот, они существуют уже довольно долгое время и реализованы во многих средствах и языках программирования,в том числе и в РНР.
Чтобы продемонстрировать их пользу на простом примере, предположим, что в вашем Web-сайте необходимо выполнять подмену ссылок так, как описано в табл. 3.2.
Таблица 3.2. Требуемая подмена ссылок
Исходный URL Подмененный URL
Products/Pl.html product.php?product_id=l
Products/P2.html product.php?product_id=2
Products/P3.html product.php?product_id=3
Products/P4.html product.php?product_id=4
Если у вас 100 ООО продуктов, то без регулярных выражений это было бы серьезной проблемой, т.к. пришлось бы написать ровно столько же правил — не больше и не меньше. Но вы же не хотите управлять файлом .htaccess с помощью 100000 правил Глядя на столбец "Исходный URL" в табл. 3.2, нетрудно заметить, что все его элементы соответствуют одному и тому же шаблону. И, как уже предполагалось ранее, регулярные выражения помогут справиться с этой задачей! Шаблоны удобны тем, что с помощью одного шаблона можно описать теоретически бесконечное количество возможных входных URL, и остается только написать правила подмены для каждого типа URL, имеющегося в Web-сайте.
В приведенном ниже упражнении используется регулярное выражение, соответствующее строкам Products/Pn.html, и mod_rewrite для преобразования URL-адресов, соответствующих этому шаблону, в строки product. php?productID=n. Это в точности реализует правила, описанные в табл. 3.2.

Подмена URL и PHP
Подмена числовых URL с двумя параметрами
Подмена URL с ключевыми словами
Создание генератора ссылок
Разбиение на страницы и подмена URL
Подмена изображений и потоковых носителей
Проблемы, которые подмена не может решить
Последнее предостережение
Резюме
Используются технологии uCoz