.htaccess. Инструкция для начинающих.
Автор: Spectator
Анализируя запросы с поисковых систем, обнаружил, что люди регулярно заходят ко мне по запросам, вроде «синтаксис файла .htaccess» и попадают на разные заметки, но нужной информации у меня не находят, пишут письма и спрашивают, где про это можно почитать «попроще». Итак – по заявкам поисковых систем: .htaccess для чайников. «Нечайники» могут найти кучу документации вот
тут. Впрочем, «нечайники» и без того знают.
.htaccess – это файл, в котором вы можете прописать настройки вашего сервера (если он –
Апач) для директории (и ниже). То есть если вы создадите файл .htaccess в корне сайта, его действие будет распространяться на весь сайт, однако, если в какой-нибудь поддиректории создадите еще один, то он будет «главным» там. Файл .htaccess не будет работать, если а) сервер – не Апач, б) администраторы сервера запретили его использование.
Я просто опишу, что знаю сам, и мне этого вполне хватает, и 90% «чайников» должно хватить. Итак, лично в моем .htaccess все выглядит примерно вот так (посточно):
DirectoryIndex index.php3
Устанавливает файл в директории, который грузится по «умолчанию». Обычно – index.html. У меня стоит index.php3, поэтому когда вы набираете
http://spectator.ru/, грузится файл index.php3
CharsetDefault windows-1251
Кодировка, которую сервер выдает браузеру по умолчанию. То есть у меня файлы выдаются в windows-кодировке.
CharsetSourceEnc windows-1251
Кодировка, в которой вы должны закачивать файлы на сервер. У меня опять же стоит windows-1251. Это удобно, когда у тебя операционная система – Win. По умолчанию же стоит koi (koi8-r), что, по-моему, не совсем удобно.
ErrorDocument 404 /index.php3
ErrorDocument 401 /index.php3
Файлы, которые выдает сервер, когда страница не найдена (404). Например, вы можете прописать, например, файл 404.html, в котором написать, мол, «документ нот фоунд», или вообще сделать что-то
вроде этого. (см. также «
PHP и ЧПУ»)
Options -Indexes
Запрещает отображение содеримого директории. Например:
http://spectator.ru/images/. Чтобы разрешить, надо написать то же самое, но без «-». Напомню, что разрешать можно выборочно, создав .htaccess там, где нужно, и прописав «Options Indexes». (В принципе, можно прописать это все в одном .htaccess, но данный текст написан для чайников, все-таки)...
Потом у меня прописано указание для модуля mod_rewrite для
«переписывания» запросов. Переписывание запросов – это, грубо говоря, такая вот фиговинка: человек запрашивает файл, например spectator.ru/issues/284, а сервер ему тихо и незаметно выдает файл spectator.ru/html/284.html (к примеру, на самом деле все не так). См. также «
PHP и ЧПУ». Это то же самое, но делано по-другому, более эффективно). Подробно (очень) можно об этом прочитать
вот тут по-английски или
вот тут по-русски.
Вот, собственно, и весь ликбез. Мой .htaccess на этом заканчивается. Для тех, кто в танке: выглядит все содержимое файла .htaccess в конце концов примерно вот так:
DirectoryIndex index.php3
CharsetDefault windows-1251
CharsetSourceEnc windows-1251
ErrorDocument 404 /index.php3
ErrorDocument 401 /index.php3
Options -Indexes
Надеюсь, кому-то это окажется полезным.
Смотри также:
–
Как поставить пароль на директорию с помощью htaccess
–
Apache Core Features
–
Mod_Rewrite Guide
–
Mod_Rewrite Docs