Apache - настройки сервера, файл htaccess
Файл .htaccess
Файл .htaccess (обратите внимание, что первый символ в названии файла — точка) применяется для управления веб-сервером Apache со стороны конечного пользователя хостинга. Вы помещаете в этот файл директивы, которые веб-сервер воспринимает и обрабатывает, выполняя действия в соответствии с настройками, которые были сделаны пользователем.
Файл .htaccess может быть размещен в корневом каталоге веб-сервера. В этом случае директивы из такого .htaccess действуют по всему веб-серверу. Также .htaccess может находиться и в конкретном подкаталоге сервера. Тогда директивы, которые указаны в этом файле, «перекрывают» действие директив из «основного» файла, который размещен в любом каталоге более высокого уровня. То есть, действие директив из .htaccess наследуется сверху вниз, но не наоборот. Изменения, внесенные в файл, вступают в силу немедленно. Это связано с тем, что информация из .htaccess перечитывается при каждом обращении к веб-серверу Apache.
Если использовать нужную директиву не получилось, и вы увидели ошибку после добавления директивы в .htaccess, скорее всего, использование команды запрещено в условиях виртуального хостинга. Напишите в техническую поддержку, мы постараемся вам помочь. Просьба подробно описать проблему и указать цели, которых хотите достичь использованием данной директивы.
На хостинге запрещены директивы php_flag, php_value и options, эти директивы доступны для изменения через панель управления хостингом.
Индексный файл
Индексный файл, это файл, который открывается при обращении к каталогу сайта, если не указана конкретная страница в папке. По умолчанию индексными файлами являются файлы со следующими названиями: index.php, index.htm, index.html, index.shtm. Если Вы захотите перепопередлить список индексных файлов или их приоритет Вы можете создать файл .htaccess со следующей командой:
DirectoryIndex newindex.php
Запрет доступа
Запрет доступа с помощью .htaccess При желании можем дать запрет на все файлы:
deny from all
Никто ничего не увидит. обращаем внимание на то, что скриптам, работающим на стороне сервера файлы все равно будут доступны.
Разрешить доступ посетителю только с определенного ip:
Order Deny, Allow
Deny from all
Allow from 195.245.112.2
Всем кроме посетителя с IP 195.245.112.2 доступ запрещен.
Также можно указать вместо айпи доменное имя
Order Deny, Allow
Deny from all
Allow from .domain.com
Только для .domain.com будет доступен ваш сайт
Изменение стандартной кодировки страниц сайта.
Мы хотим «объяснить» веб-серверу что все html-документы, которые размещены на сервере, нужно «отдавать» клиенту в кодировке koi8-r, а не в windows-1251, как это сервер делает по умолчанию. Для этого поместим в .htaccess строку:
AddType "text/html; charset=koi8-r" .html .htm .shtml
Получив такой .htaccess, веб-сервер Apache станет выдавать клиентскому браузеру заголовок, в котором будет указано, что документ имеет кодировку koi8-r.
Если на вашем ресурсе существуют html-документы в разных кодировках, (ISO-8859-1, Windows-1250, Windows-1252, UTF-8), то вам, возможно, будет необходимо отключить принудительно выдачу заголовка с кодировкой windows-1251. Для этого в .htaccess добавляется строка:
AddDefaultCharset Off
При этом соответствующая кодировка должна быть прописана на каждой html-странице в виде тега
Установка собственных страниц ошибок
Наиболее часто возникающие ошибки:
404 – страница не найдена
403 – доступ запрещен
500 – ошибка сервере, например не может бать выполнен CGI скрипт
Для переопределения страницы ошибок Вы можете воспользоваться следующей директивой в .htaccess:
ErrorDocument 404 /pagenotfound.html