- • Типы файлов - MIME types
- • Модуль mod_rewrite - URL преобр.
- • Директива модуля - RewriteRule flags
- • Директива модуля - RewriteBase
- • Директива модуля - RewriteCond
- • Директива модуля - RewriteEngine
- • Директива модуля - RewriteOptions
- • Примеры URL преобразований!!!!!
- • Пример правила с УРЛ - ЧПУ
- • Боты - роботы через Mod rewrite
- • Защита от прямого скачивания
Типы файлов - MIME types сервера Apache
Наверняка у многих более-менее опытных пользователей Интернета возникал вопрос: "А как браузер узнает, какие документы надо показывать как html, какие как текст, а какие как графику, и как сделать так, чтобы определенные документы браузер не показывал сразу, а выдавал меню, позволяющее сохранить файл на диск?".
Для этого применяются так называемые MIME types. Каждому типу данных, которые обрабатываются веб-сервером, можно задать определенный тип, в том числе и через .htaccess настройку. Этот тип описывается набором символов, отражающим тип используемых данных.
Таблица типов наиболее часто используемых видов данных:
Описание данных |
Расширение файлов |
MIME type |
Картинки gif |
gif |
image/gif |
Картинки jpeg |
jpeg jpg jpe |
image/jpeg |
VRML-файлы |
wrl vrml |
model/vrml |
HTML-документ |
html htm |
text/html |
Обычный текст |
asc txt |
text/plain |
Архив ZIP |
zip |
application/zip |
Файл MS Word |
doc |
application/msword |
Файл MS Excel |
xls |
application/vnd.ms-excel |
Файл MS Power Point |
ppt |
application/vnd.ms-powerpoint |
Файл Adobe Acrobat |
application/pdf |
|
Flash-документ |
swf |
application/x-shockwave-flash |
Работает это так: веб-сервер знает, что, например, файлам с расширением .html соответствует тип text/html. В ответ на пришедший запрос html-файла сервер среди прочих http-заголовков возвращает поле Content-type, в котором и указывается тип данных для текущего документа. Пример :
# telnet /htaccess.net.ru 80
Connected to /htaccess.net.ru
HEAD /index.html HTTP/1.1
Host: /htaccess.net.ru
HTTP/1.1 200 OK
Date: Wed, 21 Jul 2008 13:52:20 GMT
Last-Modified: Mon, 12 Jul 2008 08:41:38 GMT
Connection: close
Content-Type: text/html
Браузер, получив такой заголовок, знает, что документ с типом данных text/html это не что иное, как обычная веб-страница на языке HTML. Зная это, браузер обрабатывает принятый документ как HTML и показывает его пользователю именно с учетом этого. А вот если бы тип данных был, например, application/zip, браузер понял бы, что это ZIP-архив, который пользователю нужно предложить сохранить на диск.
Браузеры знают о том, каким образом нужно обрабатывать конкретные типы данных. Естественно, набор типов данных, известный браузерам, ограничен. Обусловлено это тем, что со временем появляются все новые и новые приложения для интернета, которые зачастую работают с новыми типами данных, которых раньше просто не существовало. Например, еще несколько лет назад не было типа audio/mpeg, которому соответствуют музыкальные файлы в формате mp3. Появился новый тип и в более поздних версиях браузеров он по умолчанию известен.
Кстати, добавить новый тип в браузер можно и вручную. Когда-то давно у меня возникли проблемы с rar настройкой в Опере, т.е. файлы - архивы .rar вместо того что бы скачиваться и сохраняться, делали все в браузере все что угодно, кроме данной стандартной как мне казалось операции. В общем, много пришлось пересмотреть материала : -).
Т.е. для rar-файла апач выдает content-type: text/plain: RAR - нестандарт, и за пределами рунета практически не используется. Но использовать .zip часто для меня непозволительная роскошь, так как размеры архивов увеличатся в таком случае чуть ли не в 3 раза... А апач поступает совершенно правильно, отдавая его как plaintext, так как ничего о нем не знает.
Поведение Оперы так же соответствует стандартам, и то, что в IE происходит иначе, это изврат и нарушение стандартов, например, если сервер выдает htlm-файл с content-type:text/plain, то Опера вместо страницы покажет исходник (т.е. текст), однако IE показывает страницу нормально..."
Самое действенное и одновременно неудобное:
в браузере - прав-клац на ссылке -> Save target as - дождаться завершения загрузки, потом сохранить страницу с расширением rar (работает, особенно актуально, когда такая загрузка произошла из Интернета);
в браузере - настройки -> типы файлов -> убрать галку с "скрыть типы файлов ..." -> выбрать text/plain - txt и в свойствах этого типа файлов выбрать "показать диалог загрузки" - что бывает часто неудобно и НЕБЕЗОПАСНО;
в браузере - настройки -> File Types -> убрать птичку с "Hide file types..." - выбрать ZIP -> в поле File Extension, поставить запятую и добавить RAR (без пробела - "zip,rar") - удобно, но срабатывает не во всех случаях.
Существует установленный набор типов данных, который описывает большинство используемых в интернете форматов.
Вообще же MIME расшифровывается как Multipurpose Internet Mail Extensions - стандарт для определения типа передаваемой информации и механизмов ее обработки.
Получить его можно на странице
http://www.iana.org/assignments/media-types/
Недавно освободившиеся домены с PR и ТИЦ:
Сервис http://reg.ru - крупнейшего хостинга и регистратора доменов позволяет подать заявку на регистрацию доменного имени, которое недавно было освобождено прежним Администратором. Освобожденные домены часто имеют высокие показатили ТИЦ и PR и могут быть интересны к приобретению.
Освобожденные домены .RU c ТИЦ: |
Ваш скидочный 5% промокод при новой регистрации на REG.RU: Использовать промокод при оплате услуг сможет каждый из зарегистрировавшихся только один раз. Поэтому вначале добавляем в корзину все что нужно, а затем одной операцией вводим купон и проводим оплату. |