Чистые ссылки в каталоге (mod_rewrite)

Данная статья поможет Вам настроить каталог, чтобы использовались "чистые ссылки", то есть адреса без параметров запроса, например: http://www.example.ru/catalog/132/2 вместо http://www.example.ru/catalog/index.php?directory=132&page=2. Для работы необходим веб-сервер Apache с включенным модулем mod_rewrite.

Установка в отдельную папку

Если Вы установили каталог в отдельную папку, то чистые ссылки будут использованы автоматически, благодаря файлу настроек .htaccess, который входит в дистрибутив каталога.

Встраивание каталога обмена ссылками в дизайн сайта: PHP-файл в корне сайта

Если Вы встроили каталог в Ваш сайт www.example.ru через файл catalog.php в корневой папке сайта, то сразу после закачки файлов необходимо скопировать файл .htaccess из дистрибутива каталога в корневую папку сайта, а после этого зайти браузером на адрес http://www.example.ru/catalog/ (без расширения .php). Чистые ссылки будут использованы автоматически, и все будет выглядеть так, как будто Вы установили каталог в отдельную папку.

Встраивание каталога обмена ссылками в дизайн сайта: система управления содержанием (CMS)

Если Вы встраиваете каталог в сложную систему управления содержанием сайта, то для работы чистых ссылок необходимо, чтобы скрипт каталога получил строку запроса либо в переменной GET-запроса $_REQUEST["lz_catalog_query"], либо через функцию lz_catalog_query(). Если Ваша система управления не поддерживает чистые ссылки, Вы можете воспользоваться файлом .htaccess из дистрибутива настройки для примера правила, которое устанавливает требуемую строку запроса. Если система управления уже содержит какие-то правила в файле .htaccess, необходимо быть осторожным, чтобы не испортить работу сайта. Если система управления сайтом поддерживает чистые ссылки, достаточно в программе перед отображением каталога вызвать функцию lz_catalog_query() и передать ей строку запроса. Например, если Вы хотите, чтобы каталог был расположен на адресе http://www.example.ru/catalog/ и пользователь запрашивает адрес http://www.example.ru/catalog/132/2, то необходимо вызвать функцию так: lz_catalog_query("132/2").