Да разгледаме способ за настройка на конфигурация на уеб-сървъра 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"
#)
в началото на реда. Ако на вашия сървър Apache не е включено разрешение
за ползване на PHP-флагове, изпълнението на дадените директиви води до
възникване на вътрешна грешка (500). В случай на възникване на грешка е
необходимо отново да закоментирате директивите, поставяйки в началото на
всяка знак #.За останалите PHP директиви, необозначени със знак за коментар (#),
е добавена проверка за наличие на необходимите модули Apache в
системата. Изпълняването на дадените директиви не води до възникване на
грешки в системата.
php_flag session.use_trans_sid off прави изключване на добавяне на идентификатора на сесии в линка на сайта. 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-текст").