request_rec* 構造で見つかりませんか? Apache モジュールでアクセスする方法はありますか?
ありがとう!
リファラーはリクエストヘッダーに保存されるため、そこからリファラーを取得する必要があります。
const char* referer = apr_table_get(request->headers_in, "Referer");
Apache 2.x モジュールの入出力フィルター関数で request_rec* にアクセスできます。
入力フィルタの場合:
int do_nothing_input_filter(ap_filter_t *f, apr_bucket_brigade *bb, ap_input_mode_t mode, apr_read_type_e block,
apr_off_t readbytes)
{
request_rec *r = f->r;
(...)
}
出力フィルタの場合:
apr_status_t my_output_filter_func(ap_filter_t* f, apr_bucket_brigade* bb)
{
request_rec *r = f->r;
(...)
}
構造は、Apache 2.x doxygen ドキュメントのhttpd.h リファレンスで定義されています。
あなたがすべき
#apt-get install apache2-prefork-dev
それから
#apxs2 -gn Somename
mod_Somename.c はSomenameディレクトリにあります。この .c ファイルにはrequest_rec*構造が含まれています。request_rec* の完全なリファレンスを試してみたい場合は、次のリンクを参照してください。
http://ci.apache.org/projects/httpd/trunk/doxygen/httpd_8h.html