Файлы .htaccess (или «файлы распределенной конфигурации») предоставляют возможность изменить конфигурацию каталога, т. е. разместить файл, содержащий одну или несколько директив, в определенном каталоге документов, чтобы повлиять на этот каталог и все его подкаталоги. Доступные для использования команды ограничены. Администраторы могут установить их с помощью директивы Apache AllowOverride.
- Директивы в подкаталогах переопределяют директивы в каталогах более высокого уровня или в основном файле конфигурации сервера.
- .htaccess должен быть загружен в режиме ASCII, желательно с разрешениями, установленными на 644.
Местоположение документа об ошибке
Типичные коды возврата ошибок клиентского запроса:
401 Требуется авторизация
403 Запрещено
404 Не найден
405 Метод не разрешен
408 Тайм-аут запроса
411 Требуется длина контента
412 Предварительное условие не выполнено
413 Запрос объекта слишком длинный
414 URI запроса слишком длинный
415 Неподдерживаемый тип носителя
Распространенные коды возврата ошибок сервера:
500 Внутренняя ошибка сервера
Пользователи могут использовать .htaccess, чтобы указать собственную заранее созданную страницу напоминания об ошибках. В общем, люди могут создать специальный каталог, например, для ошибок, для размещения этих страниц. Затем добавьте следующие инструкции в .htaccess:
ОшибкаДокумент 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html
Одна инструкция на строку. Смысл первой инструкции выше — для 404, то есть, когда нужный документ не найден, страница должна отображаться как страница notfound.html в каталоге /errors. Нетрудно видеть, что формат синтаксиса:
Код ошибки ErrorDocument/имя каталога/имя файла.расширение
Если запрашивается очень мало информации, нет необходимости создавать специальную страницу и использовать номер HTML непосредственно в команде, как в следующем примере:
ОшибкаДокумента 401 "
У вас нет разрешения на доступ к этой странице, пожалуйста, скажите!
"
Парольная защита доступа к документу
Чтобы использовать .htaccess для установки пользователей доступа и соответствующих паролей для документов в каталоге, первое, что нужно сделать, — это сгенерировать текстовый документ .htpasswd, например:
чжэн:y4E7Ep8e7EYV
Пароль здесь зашифрован, и пользователи могут найти некоторые инструменты для шифрования пароля в кодировке, поддерживаемой .htaccess. Лучше не размещать этот документ в каталоге www. Рекомендуется размещать его за пределами документа корневого каталога www, что безопаснее.
С помощью авторизованного пользовательского документа вы можете добавить в .htaccess следующие инструкции:
Каталог сервера для AuthUserFile .htpasswd
AuthGroupFile /dev/null (каталог, требующий авторизованного доступа)
Имя_аутентификатора EnterПароль
AuthType Basic (тип авторизации)
require user wsabstract (пользователям разрешен доступ; если вы хотите, чтобы все пользователи в таблице были разрешены, вы можете использовать require valid-user)
Обратите внимание, в скобках указаны комментарии, которые вы добавили при изучении.
Запретить доступ с IP
Если я не хочу, чтобы определенное правительственное ведомство имело доступ к содержимому моего сайта, я могу исключить его, добавив IP-адрес ведомства в .htaccess.
Например:
порядок разрешить, запретить
отказать от 210.10.56.32
отказать от 219.5.45.
разрешить от всех
Вторая строка запрещает определенный IP-адрес, а третья строка запрещает определенный диапазон IP-адресов, то есть 219.5.45.0 ~ 219.2.45.255.
Хотите отвергнуть всех? Просто используйте Deny from all. Для его установки можно использовать не только IP, но и доменное имя.
Защитите документы .htaccess
При использовании .htaccess для защиты каталога паролем он содержит путь к файлу паролей. В целях безопасности необходимо защитить .htaccess, чтобы другие не могли видеть его содержимое. Хотя это можно сделать и другими способами, например разрешениями на документ. Однако сам .htaccess тоже может это сделать, просто добавьте следующую директиву:
порядок разрешить, запретить
отрицать от всех
перенаправление URL-адресов
Мы можем изменить дизайн веб-сайта, переместить документы или изменить каталог. В настоящее время посещения из поисковых систем или ссылки с других веб-сайтов могут пойти не так. В этом случае вы можете использовать следующую команду для автоматического перенаправления старого URL-адреса на новый адрес:
Перенаправление /старый каталог/имя старого документа адрес нового документа
Или перенаправьте весь каталог:
Перенаправить старый каталог в новый каталог
Изменить файл домашней страницы по умолчанию
Обычно имена файлов домашней страницы по умолчанию включают default, index и т. д. Однако иногда в каталоге отсутствует файл по умолчанию, а есть определенное имя файла, например pmwiki.php в pmwiki. В этом случае пользователю сложно запомнить имя файла для доступа к нему. Новые имена файлов по умолчанию можно легко установить в .htaccess:
DirectoryIndex новое имя файла по умолчанию
Также можно указать несколько списков, в порядке, указывающем приоритет между ними, например:
DirectoryIndex имя_файла.html index.cgi index.pl default.htm
Запретить горячие ссылки
Если вы не хотите, чтобы другие размещали ссылки на свои изображения и документы на своих веб-страницах, вы также можете сделать это с помощью команды htaccess.
Необходимые инструкции следующие:
Переписать движок на
RewriteCond% !^$
RewriteCond % !^http://(www.)?mydomain.com...*$ [NC]
RewriteRule .(gif|jpg)$ - [F]
Если вы считаете, что открывать окно на чужой странице — это нехорошо, вы можете вместо этого использовать изображение:
Переписать движок на
RewriteCond% !^$
RewriteCond % !^http://(www.)?mydomain.com...*$ [NC]
RewriteRule .(gif|jpg)$ http://www.mydomain.com/замена имени файла изображения [R,L]
источник: http://wsabstract.com/howt...