URLS! URLS! URLS!
автор: Билл Хамфрис (Bill Humphries) и A List Apart
перевод: Александр Качанов
1. Красивый URL - важная деталь
2. Как настроить Apache
3. RewriteRule для статических страниц
RewriteRule для статических страниц
Если содержимое вашего сайта хранится в статических страницах с именами типа
/content-1999-12-31.html
/content-2000-01-01.html
/content-2000-01-02.html
то вы можете также воспользоваться модулем mod_rewrite для переделки URL-а. Вот это правило:
RewriteEngine On
RewriteRule ^archives/([0-9]+)/([0-9]+)/([0-9])+ content-$1-$2-$3.html
Ну а как насчет тех дней, для которых страницы отсутствуют? Вы получите сообщение об ошибке 404, Resource Not Found. Сервер Apache позволяет задать собственную страницу для этой ошибки, так что вы можете воспользоваться этим и дать пользователю подсказку, как, например, отыскать список статей
Внимание: Замечание по поводу относительных ссылок относится и к данному случаю.
Что будет, если кто либо наберет http://www.yoursite.com/archives вместо http://www.yoursite.com/archives/ÐÐÐÐ/ÐÐ/ÐÐ? Система такова, что модуль mod_rewrite переходит от одного правила к другому, пока не обнаружит совпадение или пока список правил не закончится. Для такого случая мы можем добавить еще одно правило:
RewriteEngine On
RewriteRule ^archives/([0-9]+)/([0-9]+)/([0-9])+ archives.cgi?date=$1-$2-$3
RewriteRule ^archives$ index.html
В этом случае будет сделан редирект на index.html. Но можно, например, сделать редирект и на поисковую страницу.
К сожалению в IIS не предусмотрен механизм переделки URL. Для этого вам придется писать свой собственный ISAPI фильтр. Если вы пользуетесь системой управления контентом Manila от компании Userland's Frontier, в ней есть специальная функция, с помощью которой адрес к определенной статье можно переделать в простой URL.
Система Zope также поддерживает подобную функцию.
1. Красивый URL - важная деталь
2. Как настроить Apache
3. RewriteRule для статических страниц
BILL HUMPHRIES
« назад к списку статей