Tworzenie modułu Apache - jak pobrać zmienną z konfiguracją z innego modułu? |
Tworzenie modułu Apache - jak pobrać zmienną z konfiguracją z innego modułu? |
21.01.2016, 15:14:07
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 21.01.2016 Ostrzeżenie: (0%) |
Chcę stworzyć prosty moduł do Apacha. W skrypcie modułu
ma być sprawdzana konfiguracja serwera (kilka parametrów). Jeśli jakiś parametr jest niewłaściwy wyświetli się strona błędu np. 500. Przykładowy kod modułu zawiera zmienną "some_var_config_from_apache_or_htaacess". W tym przykładzie powiedzmy że jest to konfiguracja "DirectoryIndex" która będzie się nam wyświetlać. Jak pobrać tą zmienną aby zawierała konfigurację? Kod /* Source: http://people.apache.org/~humbedooh/mods/examples/mod_example_1.c */
#include "httpd.h" #include "http_core.h" #include "http_protocol.h" #include "http_request.h" static void register_hooks(apr_pool_t *pool); static int example_handler(request_rec *r); /* Define our module as an entity and assign a function for registering hooks */ module AP_MODULE_DECLARE_DATA example_module = { STANDARD20_MODULE_STUFF, NULL, // Per-directory configuration handler NULL, // Merge handler for per-directory configurations NULL, // Per-server configuration handler NULL, // Merge handler for per-server configurations NULL, // Any directives we may have for httpd register_hooks // Our hook registering function }; static void register_hooks(apr_pool_t *pool) { ap_hook_handler(example_handler, NULL, NULL, APR_HOOK_LAST); } static int example_handler(request_rec *r) { if (!r->handler || strcmp(r->handler, "example-handler")) return (DECLINED); // The first thing we will do is write a simple "Hello, world!" back to the client. //ap_rputs("Hello, world!", r); ap_rputs(some_var_config_from_apache_or_htaacess, r); return OK; } |
|
|
21.01.2016, 15:21:12
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) |
Nie znam się jakoś szczególnie na pisaniu modułów do Apachea, ale czy chodzi Ci o mod_env ?
-------------------- Nie pomagam na pw, tylko forum.
|
|
|
21.01.2016, 15:42:42
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 21.01.2016 Ostrzeżenie: (0%) |
Wyczytałem że mod_env pozwala na sprawdzenie nagłówków HTTP,
ale nie można sprawdzić konfiguracji zawartej w Apache np. htaacess. Ale zajrzę do źródeł tego modułu - może jakieś rozwiązanie tam jest. Gdzieś też czytałem, że do zmiennych zadeklarowanych w konfiguracji Apacha np. SetEnv SOME można się odwołać wewnątrz skryptu naszego modułu. Ale to i tak nie rozwiązuje problemu. Potrzebuję odwołać się do konkretnych wartości z konfiguracji. |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 08:16 |