cess
30 / 33
Рассмотрим способ настройки конфигурации веб-сервера Apache с помощью файла .htaccess.
В большинстве случаев пользователь сервера не имеет прав на доступ к файлу настройки конфигурации сервера (httpd.conf), действие которого распространяется на всех пользователей. Файл .htaccess позволяет произвести изменения конфигурации, которые отразятся только на вашем сайте.
Для того чтобы настройки файла .htaccess не игнорировались системой, в файле настройки конфигурации сервера httpd.conf устанавливается разрешение на использование .htaccess.. Проверьте у службы поддержки наличие этого разрешения.
Файл .htaccess содержит директивы, действие которых распространяется на каталог, в котором данный файл расположен, а также на все подкаталоги в этом каталоге. Если .htaccess расположен в корневом каталоге сервера, то его действие распространяется на весь сервер, кроме тех каталогов, в которых расположен свой файл .htaccess. Директивы файлов .htaccess применяются в порядке их нахождения. Таким образом, директивы файла в данном каталоге имеют более высокий приоритет, чем директивы в каталоге, расположенном выше в дереве каталогов.
При внесении изменений в файл .htaccess нет необходимости перезапускать сервер. Файл .htaccess проверяется при каждом обращении к серверу, так что изменения вступают в силу сразу после их внесения. Так как файл является служебным, он не доступен пользователям из веб-браузера.
В общем случае синтаксис файла .htaccess аналогичен синтаксису главного файла конфигурации. Однако действие директив файла может быть ограничено директивой AllowOverride. Она определяет, какие типы директив файла .htaccess могут доминировать над более ранними настройками доступа.
Обратите внимание! При установке на шаге предварительной проверки производится проверка обработки файлов .htaccess.
В демонстрационном сайте файл .htaccess по умолчанию содержит следующие директивы:
Options -Indexes
ErrorDocument 404 /404.php
#php_flag allow_call_time_pass_reference 1
#php_flag session.use_trans_sid off
#php_value display_errors 1
php_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
AddType application/x-httpd-php .ico
DirectoryIndex index.php index.html
ExpiresActive on
ExpiresByType image/jpeg "access plus 3 day"
ExpiresByType image/gif "access plus 3 day"
Внимание! Для активизации закомментированных PHP директив необходимо снять знак комментария (#) в начале строки. Если на вашем сервере Apache не установлено разрешение на использование PHP-флагов, выполнение данных директив приведет к возникновению внутренней ошибки (500). В случае возникновения ошибки необходимо снова закомментировать директивы, поместив в начало каждой знак #.
Для остальных PHP директив, не обозначенных знаком комментария (#), добавлена проверка на наличие необходимых модулей Apache в системе. Выполнение данных директив не приведет к возникновению ошибки в системе.
- PHP директива
php_flag session.use_trans_sid off производит отключение подстановки идентификатора сессии в ссылке на сайте.
- Значение PHP флага
php_value display_errors, равное 1, указывает на то, что включено разрешение на вывод сообщений о возникновении ошибок. Директива php_value error_reporting определяет уровень ошибок, при возникновении которых будет выводиться сообщение. С помощью указанных директив можно настроить режим вывода интерпретатором PHP сообщений об ошибках.
- Директивы
php_value mbstring.func_overload 2 и php_value mbstring.internal_encoding UTF-8 управляют настройкой библиотеки mbstring.
- Блок директив
IfModule mod_rewrite.c - это настройка правил для mod_rewrite.
- Директива
AddType application/x-httpd-php .ico определяет обработку расширения ico как php-файлов.
- Директива
ExpiresActive on включает кеширование изображений, позволяющее ускорить их загрузку при повторном обращении к страницам сайта.
Директивы ExpiresByType image/jpeg "access plus 3 day" и ExpiresByType image/gif "access plus 3 day", в свою очередь, определяю формат изображений и срок, на который будет произведено кеширование. По умолчанию, выполняется кеширование изображений формата .jpeg и .gif сроком на 3 дня.
Внимание! После внесения изменений, файл .htaccess должен быть сохранен в UNIX-формате (для оболочки FAR опция "Сохранить как UNIX-текст").