Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

URL-ы! URL-ы! URL-ы! (ч.3)

div.main {margin-left: 20pt; margin-right: 20pt}URL-ы! URL-ы! URL-ы! (ч.3)

Билл Хамфрис

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. Но можно, например, сделать редирект и на поисковую страницу.

Что делать, если у меня не Apache?

К сожалению в IIS не предусмотрен механизм переделки URL. Для этого вам придется писать свой собственный ISAPI фильтр. Если вы пользуетесь системой управления контентом Manila от компании Userland's Frontier, в ней есть специальная функция, с помощью которой адрес к определенной статье можно переделать в простой URL.

Система Zope также поддерживает подобную функцию.

Ссылки

Эта статья появилась отчасти благодаря статье Тима Беренса-Ли (Tim Berners-Lee), в которой утверждается, что хорошие URL-ы никогда не должны меняться.
http://www.w3.org/Provider/Style/URI

На своем сайте Rafe Engelschall приводит несколько хороших готовых примеров для модуля mod_rewrite
http://www.engelschall.com/pw/apache/rewriteguide/.

А я сам лично пользуюсь этим приемом для создания стандартного интерфейса на своем сайте WebLog.

  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте