$37.03


$229.80


$21.95


.htaccess - великий и ушастый защитник всего живого

    Как известно, самым популярным на сей день веб-сервером является Apache в различных версиях (а вовсе не IIS, как утверждает Microsoft). Его ставят на свои сервера большинство хостителей, услуга же «NT-хостинга» (т.е. как раз IIS) стоит обычно дороже. Оно и понятно — и неудобный он для привыкших к Linux админов, и глючный (почему-то червяки плодятся именно под IIS), и поэтому дорогой.

Настраивать Apache можно по-разному. Кому-то хочется, чтобы на его страницы можно было переходить только по ссылкам с титульной, кому-то хочется, чтобы при отсутствии в папке индексного файла выводилось содержимое папки, кому-то хочется сам индексный файл переименовать в yakrutoiadmin.html... Нет никаких проблем, если вы один на своем личном сервере — редактируете настройки Apache как вам хочется, и все пучком. А если вы пользуетесь чужим хостингом?


Представьте себе ситуацию, когда доблестный админ компании MegaHoster.Network мужественно рожает новые настройки по каждой новой заявке, которая противоречит предыдущей. Что получится? Правильно, ничего работать ни у кого не будет. А теперь представьте, что настройки у всех одинаковые, т.е. такие, какие нужны большинству (которое, как это обычно бывает, вовсе даже не большинство, а просто стадо). В обоих случаях нормальному человеку делать будет нечего, как клепать уродские сайты.


На помощь человечеству приходит .htaccess — защитник всего живого на планете! С помощью этого чудесного файла можно изменять настройки Apache применительно к конкретным папкам конкретного пользователя. На самом деле далеко не всегда этот файл так называется, и работать он будет тоже далеко не всегда. Все опять зависит от настроек апача.

В файле настройки Apache есть несколько замечательных директив, а именно AccessFileName и AllowOverride. Первая задает имя файла настройки (по умолчанию .htaccess), вторая разрешает/запрещает его использование в папке. Чтобы работали настройки .htaccess, обе директивы должны быть настроены соответствующим образом. Только убедившись в том, что это так, можно начинать создавать собственный вариант защитника всего живого. Кстати, большинство бесплатных хостингов, хотя и держат у себя Apache, использование .htaccess не разрешают.

В первую очередь убедитесь, что ваш сервер использование .htaccess разрешает. Для этого можно создать файл .htaccess (он должен лежать в настраиваемой папке, т.е. в корне), состоящий из одной только строки:
ErrorDocument 404 /missing.html

В missing.html запишите что-нибудь типа
Дурак косой  Вы пытаетесь попасть на несуществующую страницу.  

Теперь попробуйте набрать что-то типа http://вашадрес.дм/dfdfdfdfd. Если вас обозвали косым дураком, значит .htaccess у вас работает, а заголовок врет :). Кстати, вот и первое семейство директив. Вы можете настроить реакцию сервера на любую ошибку, используя конструкцию
ErrorDocument номерошибки /имяфайла.html

Напоминаю, что номера ошибок расшифровываются так:
401 - Требуется авторизация (Authorization Required)
403 - Доступ запрещен (Forbidden)
404 - Страница не найдена (Not Found)
500 - Ошибка в скрипте (Internal Server Error)

Еще одна важная директива позволяет настроить тот самый многострадальный индексный файл. Например, можно изменить index.shtml на privet.php:
DirectoryIndex privet.php

Следующие директивы указывают, в какую кодировку Apache должен перекодировать файлы, и в какой кодировке вы их на сервер закачиваете. Напоминаю, что кодировка может быть еще, например, koi8-r.

CharsetDefault [b]windows[/b] — 1251 CharsetSourceEnc [b]windows[/b] — 1251

Еще обычно получается плохо, когда пользователь может посмотреть список файлов в папке, если там нет индексного файла. Чтобы избежать этого эффекта, необходимо добавить в .htaccess строчку
Options -Indexes

Или, например, злобный хоститель заботится о загрузке процессора своего сервера, и заставляет делать файлам с SSI-директивами расширение shtml... Изменить это легко и просто, добавлением в .htaccess всего одной только строчки:
AddHandler server-parsed .shtml .shtm .htm .html

Теперь, как нетрудно догадаться, все перечисленные расширения будут знаменовать собой файл, содержащий SSI включения. А вот чтобы использовать в .html файлах PHP включения, придется сделать немного хитрее, так как придется учитывать то, что SSI и PHP в одном файле использовать нельзя. Надо писать так:
RemoveHandler .html .htm AddType application/x-httpd-php .php .htm .html .phtml

Еще может возникнуть проблема, заключающаяся в том, что закачиваемые на сервер скриптом файлы получаются в неправильной кодировке. Можно попробовать решить ее так:
CharsetDisable On

Более подробная информация о директивах .htaccess уже не относится к разделу FAQ-документов, и может обсуждаться в форуме. Остается добавить, что крайне сложно уломать Notepad, в котором и редактируются файлы, сохранить файл без имени, да еще и с таким нестандартным расширением, как .htaccess. Необходимо сохранить его с типом «Все файлы/All files» и тшательно проследить, что умный Notepad не исправил нашу «ошибку».

 

Интересное

Поисковый маркетинг губит...
Что такое «маркетинг веб-сайта»? В 99% случаев первое, что приходит на ум — это SEM, то есть поисковый маркетинг, во многом из-за сходства терминов. Однако подобная логика часто приводит к...
Подробнее...
Загрузка FreeBSD 5.0 на...
Введение За последние годы порт FreeBSD-sparc64 привлек значительное внимание разработчиков. За годы было сделано многое; тем не менее, еще много предстоит сделать в области поддержки устройств и...
Подробнее...
Полезные функции для...
Эта статья фактически краткий справочник по функциям для работы с файлами.Описываемые функции редко кто использует, но это не значит, что они бесполезны.Напротив, они очень даже полезны... Но они...
Подробнее...
Domain Name Service -...
Служба Доменных Имен предназначена для того, чтобы машины, работающие в Internet, могли по доменному имени узнать IP-адрес нужной им машины, а также некоторую другую информацию; а по IP-номеру...
Подробнее...
Безопасность. Какой вопрос...
Думаю, у каждого при чтении специализированной литературы возникали вопросы по поводу тех или иных терминов. Но, как правило, поблизости обычно нет того, кто может объяснить их значение. Проблемы...
Подробнее...
Уязвимость в приложении...
Microsoft предупредила пользователей Windows о появлении вируса, поражающего компьютеры через уязвимость в приложении для создания презентаций PowerPoint.При открытии зараженного файла формата РРТ...
Подробнее...
Сертифицированные для...
Задавались ли вы вопросом, как можно узнать, совместимо ли то или иное программное обеспечение или устройство с основными возможностями Windows Vista? Вы можете легко определить такие изделия, ища...
Подробнее...
Cмогут ли пауки...
Основа вашей уверенности в том, что сайт появится в индексной базе поисковой системы, это «успешный» программный код. В конце концов, если робот не может проиндексировать ваших страниц, тогда...
Подробнее...
Чтение почты через...
В последнее время довольно популярными стали почтовые системы с web-интерфейсом.Надо заметить, это довольно удобно, особенно для пользователей,которые выходят в интернет с разных машин.Для...
Подробнее...
26 способов получения...
Сентябрь 1999 года. Бред Табке пишет свои «26 шагов к достижению высокого трафика для сайта» в Мировом Форуме веб-мастеров. Статья имела очень много полезной информации для оптимизаторов сайтов....
Подробнее...