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

Подмена изображений и потоковых носителей

Некоторые рекомендуют применять ключевые слова не только в именах HTML-документов, но и в именах изображений и медиафайлов. Это еще более важно для тех, кто занят в бизнесе распространения изображений и потоковых носителей.
В зависимости от конкретного приложения может быть и так, что легче использовать специальные физические имена файлов. Но если выполнить такое решение сложно, может иметь смысл подмена URL-адресов для файлов изображений. Такая подмена выполняется без особых усилий. Все файлы должны быть помещены в один каталог с идентификаторами в качестве имен этих файлов — т.е. " 1 " , "2", " 3 " и т.д. без расширений. Запросы выполняются непосредственно к физическим файлам в файловой системе, без всяких PHP-приложений. Это нужно потому, что потоковые носители используют расширения на Web-сервере, которые с трудом поддаются реализации в РНР-сценариях. URL-адреса генерируются с помощью PHP-функции, как и в предыдущих примерах.
I. ] • ... 2" ! Подмена графических файлов
1. Скопируйте в свою папку seophp папку media с сайта загрузки кода. В папке
seophp/media должно находиться пять файлов с именами 1, 2, 3, 4 и 5. Это файлы
изображений в формате JPEG.
2. Добавьте в файл .htaccess следующее правило подмены:
RewriteEngine On
,# Подмена числовых URL-адресов
RewriteRule "Products/C([0-9]*)/Р([0-9]*)\.html$
/product.php?category_id=$l&product_id=$2 [L]
# Подмена URL-адресов с ключевыми словами
RewriteRule "Products/.*-С([0-9]+)/.*-Р([0-9]+)\.html$
lWproduct.php?category_id=$l&product_id=$2 [L]
# Подмена catalog.html
RewriteRule Acatalog.html$ /catalog.php [L]
# Подмена cartoons.html
RewriteRule *cartoons.html$ /cartoons.php [L]
# Подмена медиафайлов
RewriteRule A.*-M([0-9]+)\..*$ /media/$l [L]
3. Создайте в папке seophp новый файл с именем cartoons .php и добавьте в него
следующий код:

noflMeHa URL для медиафайлов

alt="Tweety & Sylvester" />

4. Загрузите страницу http://seophp.example.com/cartoons.html — вы должны
получить пять изображений, приведенных на рис. 3.16.
5. Пока подмена для изображений работает отлично. Но для ее реализации в реальном
Web-сайте нужно еще расширить генератор U R L для создания имен графических
файлов. Откройте файл генератора URL(url_factory.inc.php) и
добавьте в него следующую функцию:
// создание ссылки для медиафайла
function make_media_url($id, $name, $extension)
{
// подготовка имени носителя для включения в URL
$clean_name = _prepare_url_text ($пате) ;
// создание URL с ключевыми словами
$url = SITE_DOMAIN . '/' . $clean_name . '-М' . $id . '. ' . $extension;
// возврат URL
return $url;
}
6. Откройте файл cartoons.php и замените в нем жестко закодированные имена
файлов на вызовы функции make_media_url ( ) :
<?php
// загрузка библиотеки генератора URL
require_once 'include/url_factory.inc.php';
?>

Подмена URL для медиафайлов

" alfc="Tweety" />
"
alt="Toy Story" />
"
alt="Tweety & Sylvester" />
" alt="Mickey" />
" alt="Minnie" />

7. Снова введите в адресную строку http://seophp.example.com/cartoons.html.
Вы должны получить те же ссылки, что и раньше, и результат должен совпадать
с рис. 3.16.
Это упражнение было довольно похоже на предыдущие, но здесь Apache заменяет URL-адреса изображений именами физических файлов на диске. На этот раз регулярное выражение выглядит несколько более сложным, но на самом деле оно не очень отличается от других, с которыми нам приходилось иметь дело:
RewriteRule Л. *-М( [0-9]+) \ . . *$ /media/$l [L]
Это правило соответствует любому случайному набору символов, за которым
следует -М (А.*-М), а затем группа цифр, которые запоминаются в переменной
$1- ([0-9]+). Дальше идет символ точки ( \ . — обратите внимание, что она литера-
лизована с помощью обратного слэша), за которой опять следует случайный набор
символов ( . * ) .
Говоря "по-человечески", это правило соответствуе"г URL-адресам типа Какое-то-
Имя-Файла-Vln.какое-то-расширение и подменяет их непосредственно на физическое имя файла /media/n.
Новая функция, добавленная в генератор URL, генерирует такие улучшенные адреса.
Если вы хотите использовать имена графических файлов, оптимизированных для
поиска, нужно либо давать им правильные имена с самого начала, либо использовать генератор URL вместе с правилом подмены, чтобы обеспечить согласованность во всем Web-сайте.

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