После авторизации Вы получите доступ к файлам, скрытым материалам сайта, исходным кодам
возможность комментировать и т.д.

Вы можете авторизоваться на сайте всего одним кликом:

2016-07-09
APACHE → Конфигурационный файл .htaccess
Как установить кодировку сайта, Как сделать сраницы ошибок

В этом уроке я расскажу как подключить и правильно использовать файл .htaccess

Конфигурационный файл .htaccess

Авторы Web-сервера Apache реализовали возможность децентрализованного управления конфигурацией с помощью использования специальных файлов имеющих именуемых по умолчанию - .htaccess, которые помещаются на диске прямо в веб-пространстве виртуального сервера. Эти файлы обычно называются .htaccess (обратите внимание на первый символ в названии файла - точку).

Действие команд из файла .htaccess распространяется и на подкаталоги того каталога, в котором этот файл размещен. Если файл .htaccess расположен в корневой директории сервера, то его действия распространяется на весь сервер, кроме тех директорий, где находится другой файл .htaccess (и кроме всех папок "ниже" этой папки со вторым .htaccess). Лишь модуль mod rewrite имеет свою специфику наследования.

Поскольку файлы .htaccess являются служебными, то они не доступны веб-пользователю из браузера. Хотя конечно же, абсолютно всё, в том числе и это ограничение, можно переназначить в httpd.conf - главном конфигурационном файле сервера доступному только администратору хостинга.

Основные правила написания файла Apache .htaccess

  1. Пути к файлам (директориям) указываются от корня сервера:
    DirectoryIndex /home/www/users/AM/public_html/index
  2. Адресация к документам, расположенным на других сайтах должна выполняться с указанием протокола:
    redirect /~AM http://it2moro.ru/
    

Большинство директив могут задаваться не только в конфигурационных файлах сервера, но и в файлах .htaccess в каталогах сервера. Директива AllowOverride перечисляет опции, которые могут быть переопределены в файлах .htaccess.

Эта директива, используемая только в файле httpd.conf, регулирует отношения между глобальным файлом доступа и пользовательскими файлами .htaccess. В директиве указываются разделенные пробелами опции управления доступом, переопределение которых в файле .htaccess, находящемся в дереве каталогов ниже этого каталога, разрешено.

Рассмотрим часть файла httpd.conf

...
    <Directory "/">

    Options Indexes FollowSymLinks Includes MultiViews

    AllowOverride All

    Order allow,deny

    Allow from all

    </Directory >

...

Параметры у AllowOverride могут быть указаны следующие:

  1. None - Сервер игнорирует – не читает файлы .htaccess в этом каталоге. Если вы не намерены использовать для каталога файлы .htaccess, вам следует явно установить эту опцию, поскольку это повысит производительность сервера.
  2. Аll - По умолчанию пользователи имеют право переопределять в файлах .htaccess все глобальные установки доступа, для которых в этих файлах имеются эквивалентные команды.
  3. Filelnfo - Разрешает использование в файлах .htaccess директив, управляющих типами документа (AddEncoding, AddLanguage, AddType, DefaultType, ErrorDocument, LanguagePriority, и т.д..) Как правило, данная опция разрешена на большинстве веб-серверов.
  4. AuthConfig - Разрешает использование директив разрешения (AuthGroupFile, AuthName, AuthType, AuthUserFile, require..), необходимых для защиты каталогов паролями, т.е. разрешает установку авторизации по имени пользователя и паролю. Данная опция так же разрешена на большинстве серверов.
  5. Limit - Допускает использование основных директив управления доступом (allow, deny и order), директив секционирования Limit, т.е. например ограничивают доступ к файлам в зависимости от адреса клиентского компьютера.
  6. Options - Разрешает использование директивы Options.

В директиве Options можно использовать следующие параметры:

  1. None - В указанном каталоге не разрешается использование каких-либо функций.
  2. All - В указанном каталоге разрешается использование всех возможностей (принимается по умолчанию), т.е. установить сразу все опции - режимы кроме MultiViews.
  3. MultiViews - разрешить поддержку многих языков; по умолчанию она отключена, и включать ее, как правило, не нужно;
  4. FollowSymLinks - Сервер следует символьным ссылкам, имеющимся в указанном каталоге, т.е. - разрешить переходы по символическим ссылкам;
  5. ExecCGI - В указанном каталоге разрешается выполнение сценариев CGI.
  6. Includes - В указанном каталоге разрешено использование серверных включений - SSI (Server Side Includes). Использование серверных включений требует, чтобы сервер производил синтаксический разбор всех HTML-файлов перед отправкой их клиентам. Нечего и говорить, что это крайне нагружает сервер, поэтому мы бы порекомендовали отключить эту опцию. Если вам необходимы серверные включения, разрешите их на уровне отдельных файлов при помощи директивы AddType.
  7. Indexes - допускает использование деректив управления индексацией каталога(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, и т.д..), например разрешает выдачу листинга каталога , если в нем нет файла index.html (или файла индекса, заданного директивой DirectoryIndex );
  8. IncludesNoExec - Эта директива разрешает использование в указанном каталоге серверных включений, но запрещает запуск из них внешних программ

Кодировка сайта

AddDefaultCharset - Указывает используемую в каталоге кодировку документов.

AddDefaultCharset UTF-8

Страницы ошибок

ErrorDocument #num# - Указывает путь до страницы, которая отображается пользователю, если произошла ошибка с указанным номером.

ErrorDocument 401 /errors/401.php
ErrorDocument 403 /errors/403.php
ErrorDocument 404 /errors/404.php
ErrorDocument 500 /errors/500.php
ErrorDocument 502 /errors/502.php
ErrorDocument 503 /errors/503.php
ErrorDocument 504 /errors/504.php
ErrorDocument 505 /errors/505.php
580
0
Пожалуйста, авторизируйтесь, чтобы скачать архив с файлами урока