phpbar.de logo

Mailinglisten-Archive

[php] apache .htaccess

[php] apache .htaccess

Thomas Heller maniax_(at)_north.de
Wed, 30 Jun 1999 15:26:12 +0200


Moin Moin!

Den Source durchwühlen war allerdings das was ich nicht wollte 8)
Ich hatte gehofft, daß dies schon irgendwie dokumentiert ist.

Muss ich wohl doch sources lesen ...

Danke, mfg
Thomas

----- Original Message -----
From: Kristian Köhntopp <kk_(at)_netuse.de>
To: <php_(at)_solix.wiso.Uni-Koeln.DE>
Sent: Wednesday, June 30, 1999 1:56 PM
Subject: Re: [php] apache .htaccess


>
>
> ebids Webmaster wrote:
> > Kann mir einer zufällig eine Liste (Doku) geben, in der alle Funktionen
> > aufgelistet sind, welche ich innerhalb der .htaccess Datei verwenden
kann,
> > die durch das PHP-Apache Modul bereitgestellt werden?
>
> Apache-Module definieren eine Struktur mit den
> von Ihnen verarbeiteten Konfigurationsanweisungen. In
> http_core.c findest Du zum Beispiel
>
> static const command_rec core_cmds[] = {
>
> /* Old access config file commands */
>
> { "<Directory", dirsection, NULL, RSRC_CONF, RAW_ARGS,
>   "Container for directives affecting resources located in the specified "
>   "directories" },
> { end_directory_section, end_nested_section, NULL, ACCESS_CONF, NO_ARGS,
>   "Marks end of <Directory>" },
>
> und so weiter. Dabei ist ein command_rec definiert als
>
> typedef struct command_struct {
>     const char *name;           /* Name of this command */
>     const char *(*func) ();     /* Function invoked */
>     void *cmd_data;             /* Extra data, for functions which
>                                  * implement multiple commands...
>                                  */
>     int req_override;           /* What overrides need to be allowed to
>                                  * enable this command.
>                                  */
>     enum cmd_how args_how;      /* What the command expects as arguments
*/
>
>     const char *errmsg;         /* 'usage' message, in case of syntax
errors */
> } command_rec;
>
> /* The allowed locations for a configuration directive are the union of
>  * those indicated by each set bit in the req_override mask.
>  *
>  * (req_override & RSRC_CONF)   => *.conf outside <Directory> or
<Location>
>  * (req_override & ACCESS_CONF) => *.conf inside <Directory> or <Location>
>  * (req_override & OR_AUTHCFG)  => *.conf inside <Directory> or <Location>
>  *                                 and .htaccess when AllowOverride
AuthConfig
>  * (req_override & OR_LIMIT)    => *.conf inside <Directory> or <Location>
>  *                                 and .htaccess when AllowOverride Limit
>  * (req_override & OR_OPTIONS)  => *.conf anywhere
>  *                                 and .htaccess when AllowOverride
Options
>  * (req_override & OR_FILEINFO) => *.conf anywhere
>  *                                 and .htaccess when AllowOverride
FileInfo
>  * (req_override & OR_INDEXES)  => *.conf anywhere
>  *                                 and .htaccess when AllowOverride
Indexes
>  */
>
> und zwar in http_config.h in den Apache-Sourcen.
>
> Mit diesen Informationen greift man sich nun das Modul seiner
> Wahl und sieht sich den Quelltext an. Beispiel: mod_mime.c.
> Dort sucht man nach command_rec und findet:
>
> static const command_rec mime_cmds[] =
> {
>     {"AddType", add_type, NULL, OR_FILEINFO, ITERATE2,
>      "a mime type followed by one or more file extensions"},
>     {"AddEncoding", add_encoding, NULL, OR_FILEINFO, ITERATE2,
>      "an encoding (e.g., gzip), followed by one or more file extensions"},
>
> und so weiter. Offensichtlich ist die Anweisung "AddType" mit
> OR_FILEINFO definiert, darf also in jeder config-Datei und in .htaccess
> verwendet werden, wenn AllowOverride FileInfo vorhanden ist.
>
> Man kann daraus mit einem Script manuell eine Liste wie von Dir
> gewünscht erzeugen oder man kann Apache  diese Liste übrigens
> selbstständig erzeugen lassen, wenn man ./httpd -h aufruft.
>
> kk_(at)_poe /opt/apache $ ./httpsd -h| head -10
> <Directory
>         Container for directives affecting resources located in the
specified directories
>         http_core.c
>         Allowed in *.conf only outside <Directory> or <Location>
>
> </Directory>
>         http_core.c
>         Allowed in *.conf only inside <Directory> or <Location>
>
> <Location
>         Container for directives affecting resources accessed through the
specified URL paths
>         http_core.c
>
> und so weiter.
>
> Kristian
>
> --
> Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH
> Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00
> Using PHP3? See our web development library at
> http://phplib.shonline.de/ (GPL)
>
> --
> ** Durchgehend geöffnet: http://www.php-center.de **
> Die PHP-Liste: mailto:php_(at)_infosoc.uni-koeln.de
> http://infosoc.uni-koeln.de/mailman/listinfo/php
>



php::bar PHP Wiki   -   Listenarchive