Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Самоучитель по PHP 4

.pdf
Скачиваний:
82
Добавлен:
02.05.2014
Размер:
4.36 Mб
Скачать

Приложение 1. Файл конфигурации Apache httpd.conf

521

LogLevel warn

#

#Следующие директивы указывают псевдонимы некоторых форматов, которые

#используются в директиве CustomLog (см. ниже).

#

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common

LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent

#

#Расположение и формат файла регистрации (лога). Если вы не определяете

#никаких лог-файлов внутри контейнера <VirtualHost>, сведения

#будут записываться здесь. Если же вы определяете отдельный лог-файл

#для виртуального хоста, доступ будет отслеживаться в этом логе,

#но не здесь.

#

CustomLog logs/access.log common

#

#Если вы хотите, чтобы имелся агент ссылочных логов (referer logfiles

#agent), раскомментируйте следующие директивы.

#

#CustomLog logs/referer.log referer #CustomLog logs/agent.log agent

#

#Если вы предпочитаете иметь один лог-файл с информацией о доступе,

#агентах и ссылках (комбинированный формат лог-файла), вы можете

#использовать следующую директиву.

#CustomLog logs/access.log combined

#

#Позволяет добавить дополнительную строку, содержащую версию сервера и

#имя виртуального хоста на страницах, сгенерированных сервером

#(сообщениях об ошибках, листингах каталогов FTP, в вывод модулей

#mod_status и mod_info, но не в CGI-документах). Чтобы дополнительно

522

Часть VI. Приложения

#включить ссылку mailto:, содержащую значение директивы ServerAdmin,

#установите значение EMail.

#Допустимые значения: On | Off | Email

#

ServerSignature On

#

#Apache по умолчанию анализирует первую строку каждого CGI-сценария.

#Если эта строка является комментарием и выглядит так: символ (#),

#затем восклицательный знак (!) и, наконец, путь к

#программе-интерпретатору, по которому осуществляется запуск

#сценария, Apache запускает этот интерпретатор.

#Например, для perl-сценариев, стартуемых под управлением perl.exe

#из каталога C:\Program Files\Perl, эта строка должна выглядеть так:

#!c:/program files/perl/perl

#Внимание: вы не должны вставлять пробелы перед символом (#). Кроме

#того, указанная специальная строка должна быть именно первой строкой

#файла. Конечно, для запускаемого файла должна быть разрешена обработка

#CGI — например, путем указания директивы ScriptAlias или

#Options ExecCGI.

#

#Тем не менее, Apache для Windows позволяет в дополнение к "магической"

#строке использовать Реестр для поиска ассоциаций с расширениями.

#Команда для запуска файла указанного типа в этом случае ищется в

#Реестре точно так же, как это происходит, например, при работе

#Проводника, когда вы выполняете двойной щелчок на файле. Действия по

#запуску сценария могут быть сконфигурированы из меню Вид Проводника.

#Там необходимо выбрать Свойства папки и переключиться на вкладку

#Типы файлов. Нажатие на кнопку Изменить позволяет задать действие,

#которое Apache выполнит при попытке открытия файла. Если это не

#удастся, Apache будет искать интерпретатор при помощи "магической"

#строки. Возможно, поведение сервера изменится в Apache версии 2.0.

#

#Чтобы разрешить это специфичное для Windows поведение сервера и, таким

#образом, запретить анализ "магической" строки, удалите комментарий

#со следующей директивы:

#

Приложение 1. Файл конфигурации Apache httpd.conf

523

ScriptInterpreterSource registry

#

#Эта директива может быть помещена в отдельный блок <Directory> или

#в файл .htaccess с указанием в качестве значения registry

#(поведение Windows) или script (анализ "магической" строки, принятый

#в Unix). В таком случае она будет перекрывать директиву, расположенную

#здесь, в главном конфигурационном файле сервера.

#

#

#Псевдонимы: Можно добавлять любое количество псевдонимов (без

#ограничений).

#Формат: Alias псевдоним действительное_имя

#

<IfModule mod_alias.c>

#Обратите внимание, что если вы включаете завершающий слэш в

#"псевдоним", то сервер потребует его присутствия и в URL. Так,

#/icons не будет разыменован в данном примере, только /icons/.

Alias /icons/ "C:/Program Files/Apache Group/Apache/icons/"

<Directory "C:/Program Files/Apache Group/Apache/icons"> Options Indexes MultiViews

AllowOverride None Order allow,deny Allow from all

</Directory>

#

#ScriptAlias: Указывает каталог, который содержит серверные

#сценарии. Свойства ScriptAlias’ов такие же, как и у простых

#псевдонимов, за исключением того, что документы в каталоге

#"действительное_имя" считаются приложениями и выполняются

#на сервере, а не отправляются клиенту. К директиве

#ScriptAlias применяются те же правила в отношении

#завершающего /, что и к Alias.

#

ScriptAlias /cgi-bin/ "z:/home/localhost/cgi/" ScriptAlias /cgi/ "z:/home/localhost/cgi/"

524

Часть VI. Приложения

</IfModule>

#Конец определений псевдонимов.

#Директива Redirect позволяет сообщить клиенту о документе, который

#существовал некогда в пространстве имен сервера, но был перемещен

#в другое место. Она информирует клиента о его новом адресе.

#

# Формат: Redirect старый_URL новый_URL

#

#

# Директивы, управляющие генерацией сервером листингов каталогов.

#

<IfModule mod_autoindex.c>

#

#FancyIndexing означает, что вы предпочитаете листинги с

#"украшательствами". О других возможных значениях директивы

#IndexOptions см. сопроводительную документацию.

#

IndexOptions FancyIndexing

#

#Директивы AddIcon* указывают серверу, какими ярлыками

#будут украшены имена файлов в листинге каталога. Ярлыки

#изображаются только в режиме FancyIndexing.

#

AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

AddIconByType (TXT,/icons/text.gif) text/*

AddIconByType (IMG,/icons/image2.gif) image/*

AddIconByType (SND,/icons/sound2.gif) audio/*

AddIconByType (VID,/icons/movie.gif) video/*

AddIcon /icons/binary.gif .bin .exe

AddIcon /icons/binhex.gif .hqx

AddIcon /icons/tar.gif .tar

AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv

AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip

AddIcon /icons/a.gif .ps .ai .eps

Приложение 1. Файл конфигурации Apache httpd.conf

525

AddIcon /icons/layout.gif .html .shtml .htm .pdf AddIcon /icons/text.gif .txt

AddIcon /icons/c.gif .c AddIcon /icons/p.gif .pl .py AddIcon /icons/f.gif .for AddIcon /icons/dvi.gif .dvi

AddIcon /icons/uuencoded.gif .uu

AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl AddIcon /icons/tex.gif .tex

AddIcon /icons/bomb.gif core

AddIcon /icons/back.gif ..

AddIcon /icons/hand.right.gif README

AddIcon /icons/folder.gif ^^DIRECTORY^^

AddIcon /icons/blank.gif ^^BLANKICON^^

#

#DefaultIcon определяет ярлык для файла по умолчанию

#если он не задан явно.

#

DefaultIcon /icons/unknown.gif

#

#AddDescription позволяет размещать краткое описание после имени

#файла в индексах (листингах каталогов), сгенерированных сервером.

#Такие описания выводятся только в режиме FancyIndexing.

#

# Формат: AddDescription "строка_описания" .расширение_имени_файла

#

#AddDescription "GZIP compressed document" .gz #AddDescription "tar archive" .tar #AddDescription "GZIP compressed tar archive" .tgz

#

#ReadmeName задает имя README-файла, который добавляется к листингу

#каталога по умолчанию.

#

#HeaderName указывает имя файла, выводимого в

#заголовке листингов каталога.

526

Часть VI. Приложения

#

#Если задана директива MultiViews в числе значений Options,

#сначала сервер попытается открыть файл имя.html и включит его в

#листинг, если файл существует. Если файл имя.html не существует,

#сервер переориентируется на открытие файла

#имя.txt и включение его в листинг в виде простого текста.

#

ReadmeName README HeaderName HEADER

#

#IndexIgnore описывает набор имен файлов, которые должны быть

#исключены из листинга. В именах допустимы метасимволы подстановки

#в стиле shell.

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

</IfModule>

# Конец секции директив управления листингами.

#

# Типы документов.

#

<IfModule mod_mime.c>

#

#AddEncoding позволяет вам заставить определенные браузеры

#(Mosaic/X 2.1+) распаковывать информацию "на лету".

#Внимание: это свойство поддерживают не все браузеры. Несмотря

#на сходство имен, нижеприведенные директивы Add* не

#имеют ничего общего с директивами оформления FancyIndexing,

#приведенными выше.

#

AddEncoding x-compress Z AddEncoding x-gzip gz tgz

#

#

#AddLanguage позволяет указать язык документа. Вы можете затем

#использовать протокол обмена (content negotiation) для выдачи

#браузеру документа на том языке, который он (браузер) предпочитает.

Приложение 1. Файл конфигурации Apache httpd.conf

527

#

#Примечание 1: Суффикс не обязательно должен совпадать с буквенным

#кодом языка — те, у кого есть документы на польском языке

#(стандартный сетевой буквенный код pl), могут воспользоваться

#директивой AddLanguage pl .po во избежание конфликта с

#распространенным суффиксом сценариев на языке Perl.

#

#Примечание 2: Нижеследующие примеры показывают, что в нескольких

#случаях двухбуквенный код языка не совпадает с двухбуквенным кодом

#страны.

#Например, "Датский/da" вместо "Дания/dk".

#

#Примечание 3: В случае ltz мы нарушаем требования RFC, используя

#трехбуквенный код. Но уж тут ничего не поделаешь. В будущем,

#возможно, несоответствия с RFC1766 будут устранены.

#

#Коды языков:

#датский (Danish) da; голландский, Нидерланды (Dutch) nl;

#английский (English) en; эстонский (Estonian) ee;

#французский (French) fr; немецкий (German) de;

#новогреческий (Greek-Modern) el; итальянский (Italian) it;

#португальский (Portuguese) pt;

#люксембургский (Luxembourgeois*) ltz;

#испанский (Spanish) es; шведский (Swedish) sv;

#каталонский (Catalan) ca; чешский (Czech) cz;

#русский (Russian) ru.

#

AddLanguage da .dk AddLanguage nl .nl AddLanguage en .en AddLanguage et .ee AddLanguage fr .fr AddLanguage de .de AddLanguage el .el AddLanguage he .he

AddCharset ISO-8859-8 .iso8859-8 AddLanguage it .it

AddLanguage ja .ja AddCharset ISO-2022-JP .jis

528

 

Часть VI. Приложения

AddLanguage kr .kr

 

 

AddCharset ISO-2022-KR .iso-kr

 

AddLanguage no .no

 

 

AddLanguage pl .po

 

 

AddCharset ISO-8859-2 .iso-pl

 

AddLanguage pt .pt

 

 

AddLanguage pt-br .pt-br

 

AddLanguage ltz .lu

 

 

AddLanguage ca .ca

 

 

AddLanguage es .es

 

 

AddLanguage sv .se

 

 

AddLanguage cz .cz

 

 

AddLanguage ru .ru

 

 

AddLanguage tw .tw

 

 

AddCharset Big5

.Big5

.big5

AddCharset WINDOWS-1251

.cp-1251

 

AddCharset CP866

.cp866

 

AddCharset ISO-8859-5

.iso-ru

 

AddCharset KOI8-R

.koi8-r

 

AddCharset UCS-2

.ucs2

 

AddCharset UCS-4

.ucs4

 

AddCharset UTF-8

.utf8

 

#LanguagePriority позволяет определить первоочередность некоторых

#языков при установлении протокола обмена.

#

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

#перечислите их в порядке убывания приоритета.

#

<IfModule mod_negotiation.c>

LanguagePriority en da nl fr de el it ja no pl pt ru ca es sv tw </IfModule>

#

#AddType позволяет слегка подправить mime.types, не редактируя его,

#или объявить конкретные файлы имеющими определенный тип.

#

#Например, модуль PHP3 (этот модуль не является частью дистрибутива

#сервера Apache), обычно использует следующие объявления:

Приложение 1. Файл конфигурации Apache httpd.conf

529

#

#AddType application/x-httpd-php3 .php3

# AddType application/x-httpd-php3-source .phps

#

#В случае PHP 4.x укажите:

AddType application/x-httpd-php .php

#AddType application/x-httpd-php-source .phps

#Следующие строки не относятся к заданию типов документов,

#но их удобно поместить сюда для подключения PHP:

#

ScriptAlias /_php/ "C:/Program Files/PHP4/" Action application/x-httpd-php "/_php/php.exe"

AddType application/x-tar .tgz

#

#AddHandler позволяет отобразить определенные расширения имен файлов

#на обработчиков вне связи с определениями типов файлов. Обработчики

#могут быть как встроены в сервер, так и объявлены директивой

#Action (см. ниже).

#

#Если вы хотите использовать файлы, вставляемые сервером в ваши

#документы (SSI — server side includes), снимите комментарий

#со следующих строк:

#

# для использования сценариев CGI —

#

AddHandler cgi-script .bat .exe .cgi

#

#для HTML-файлов, предварительно обрабатываемых

#сервером (server-parsed HTML files):

#

AddType text/html .shtml

AddHandler server-parsed .shtml .html .htm

#

530

Часть VI. Приложения

#Раскомментируйте следующую строку, чтобы разрешить Apache передачу

#специальных файлов, которые не сопровождаются стандартными

#заголовками HTTP (send-asis HTTP file).

#

# AddHandler send-as-is asis

#

#Если вы хотите использовать карты-изображения, обрабатываемые

#сервером, раскройте следующую директиву:

#

# AddHandler imap-file map

#

#Если вы хотите задействовать карты типов (type maps, см.

#документацию), используйте:

#

# AddHandler type-map var

</IfModule>

# Конец блока директив описания типов документов.

#

#Директива Action позволяет определить приложение, выполняющее сценарии,

#когда запрашиваются содержащие их файлы. Это устраняет необходимость

#многократного упоминания URL часто используемых процессоров

#CGI-сценариев.

#Формат: Action псевдоним_типа /псевдоним_пути/обработчик

#Action среда/тип /псевдоним_пути/обработчик

#

#

#MetaDir: определяет имя каталога, в котором Apache может найти файлы с

#метаинформацией. Эти файлы содержат дополнительные заголовки HTTP,

#включаемые при отправке определенных документов.

#

# MetaDir .web

#

# MetaSuffix устанавливает суффикс имени файла, содержащего метаинформацию.