homepageТарифыКлиентамДилерамО насЗаказать

Apache 1.3 documentation
Access Control by URL
Apache 1.3 Dynamic Shared Object (DSO) support
Apache Content Negotiation
Apache Keep-Alive Support
Apache Multiple Log Files
Apache extra features
Apache module mod_foobar
Apache suEXEC Support
Apache suEXEC Support
Apache's Handler Use
Compiling Apache under UnixWare
Compiling and Installing Apache
Custom error responses
How Directory, Location and Files sections work
Installing Apache on TPF
Issues Regarding DNS and Apache
New features with Apache 1.1
New features with Apache 1.2
New features with Apache 1.3
PATH_INFO Changes in the CGI Environment
Server Pool Management
Setting which addresses and ports Apache uses
Source Re-organisation
Special Purpose Environment Variables
Starting Apache
Stopping and Restarting Apache
The Apache EBCDIC Port
The Apache TPF Port
Upgrading to 1.3 from 1.2
Using Apache with Microsoft Windows
Using Apache with Novell NetWare 5

Apache's Handler Use

What is a Handler

A "handler" is an internal Apache representation of the action to be performed when a file is called. Generally, files have implicit handlers, based on the file type. Normally, all files are simply served by the server, but certain file typed are "handled" separately. For example, you may use a type of "application/x-httpd-cgi" to invoke CGI scripts.

Apache 1.1 adds the additional ability to use handlers explicitly. Either based on filename extensions or on location, these handlers are unrelated to file type. This is advantageous both because it is a more elegant solution, but it also allows for both a type and a handler to be associated with a file (See also Files with Multiple Extensions)

Handlers can either be built into the server or to a module, or they can be added with the Action directive. The built-in handlers in the standard distribution are as follows:

  • default-handler: Send the file using the default_handler(), which is the handler used by default to handle static content. (core)
  • send-as-is: Send file with HTTP headers as is. (mod_asis)
  • cgi-script: Treat the file as a CGI script. (mod_cgi)
  • imap-file: Imagemap rule file. (mod_imap)
  • server-info: Get the server's configuration information (mod_info)
  • server-parsed: Parse for server-side includes (mod_include)
  • server-status: Get the server's status report (mod_status)
  • type-map: Parse as a type map file for content negotiation (mod_negotiation)



Syntax: AddHandler handler-name extension extension...
Context: server config, virtual host, directory, .htaccess
Override: FileInfo
Status: Base
Module: mod_mime
Compatibility: AddHandler is only available in Apache 1.1 and later

AddHandler maps the filename extensions extension to the handler handler-name. This mapping is added to any already in force, overriding any mappings that already exist for the same extension. For example, to activate CGI scripts with the file extension ".cgi", you might use:

    AddHandler cgi-script cgi

Once that has been put into your srm.conf or httpd.conf file, any file containing the ".cgi" extension will be treated as a CGI program.

See also: Files with multiple extensions


Syntax: SetHandler handler-name
Context: directory, .htaccess
Status: Base
Module: mod_mime
Compatibility: SetHandler is only available in Apache 1.1 and later.

When placed into an .htaccess file or a <Directory> or <Location> section, this directive forces all matching files to be parsed through the handler given by handler-name. For example, if you had a directory you wanted to be parsed entirely as imagemap rule files, regardless of extension, you might put the following into an .htaccess file in that directory:

    SetHandler imap-file

Another example: if you wanted to have the server display a status report whenever a URL of http://servername/status was called, you might put the following into access.conf:

    <Location /status>
    SetHandler server-status

Programmer's Note

In order to implement the handler features, an addition has been made to the Apache API that you may wish to make use of. Specifically, a new record has been added to the request_rec structure:

    char *handler

If you wish to have your module engage a handler, you need only to set r->handler to the name of the handler at any time prior to the invoke_handler stage of the request. Handlers are implemented as they were before, albeit using the handler name instead of a content type. While it is not necessary, the naming convention for handlers is to use a dash-separated word, with no slashes, so as to not invade the media type name-space.

Специальные ссылки См. также
  • Создание и редизайн сайта

  • Вакансии

  • Разное - полезное

  • Архив новостей

  • Задать вопрос

  • Вопросы и ответы

  • Версия для печати
    HomepageРазведкаПлан-карта местности

    Copyright © 2000-2017 HOST-ING.RU
    Контактная информация

    Сайт создан студией