Что такое .htaccess (краткий обзор)
Файл .htaccess предназначен для индивидуальной настройки сайтов и их каталогов. Он может содержать почти все инструкции, допустимые в файле httpd.conf (главный файл конфигурации сервера Апач). В отличие от httpd.conf, который должен лежать в каталоге /usr/local/etc/httpd/conf (а к нему имеет доступ только администратор сервера), файл .htaccess может лежать и, будет обрабатываться в любом каталоге сайта (если его обработка разрешена администратором сервера). В отличие от httpd.conf, настройки которого распространяются на всех пользователей сервера (владельцев сайтов), файл .htaccess вносит локальные изменения в настройки, влияя только на каталог его содержащий, вместе с вложенными в него каталогами.Предлагается подробно рассмотреть все возможности использования данного файла, дабы на будущее ни у кого не возникало излишних вопросов.
Рассматривать будем по порядку, детально разбирая каждый вопрос.
1. Требования к файлу:1.1. .htaccess должен быть записан в формате ОС вашего сервера.
Подробнее..Дело в том, что в Windows и DOS перевод строки обозначается двумя спец-символами - "\r\n" (0x0D 0x0A или 13 10), а в UNIX одним - "\n" (0x0A или 10). Поэтому если на сервере стоит UNIX, то файл, написанный под Windows, работать не будет.
Поэтому его необходимо одно из следующего:
a) открыть в 16-ричном редакторе и запустить замену 0x0D на 0x20 (пробел в 16-ричном варианте).
b) Обработать файл данной функцией (php5):
<?php file_put_contents($filename, strtr(file_get_contents($filename, array("\r\n" => "\n")))); ?>
c) Создавать файл непосредственно на сервере с помощью php-скрипта.
d) Использовать ASCII-режим передачи данных в вашем ftp-клиенте.
e) Настроить ваш php-редактор так, чтоб он сохранял файлы в UNIX-формате.Вопросы для уточнения:a) Приведите примеры 16-ричных редакторов, которыми можно произвести описанную выше замену.
b) Какие еще существуют способы перевода файла в UNIX-формат?
c) Приведите универсальную функцию для создания файлов .htaccess в UNIX-формате.
UPD 20.02.08: основную часть вопроса мы разобрали, осталишь лишь незначительные детали.