0

私はApache出力フィルターを書くのが初めてで、cでそれらを書くのはさらに初心者です。サンプル フィルター (mod_substitute) ソースを取得し、要求が特定のホストに対するものである場合にのみ機能するようにしようとしています。私自身の理由から、これを構成的にではなく、プログラム機能にする必要があります。

これを試すために次のコードを使用しています。

request_rec *req = f->r;

ngf_module_ctx *ctx = f->ctx;


/* Test to see if this is a domain that needs optimization */
if (req->hostname != "localhost") {
    ap_pass_brigade(f->next, bb);
    return APR_SUCCESS;
}

デバッグ印刷を使用すると、req->hostname 値が localhost として表示されることがわかりましたが、比較自体は失敗します。

私は何を間違っていますか?

4

1 に答える 1

1

ポインター等価演算子 ( !=) を使用して文字列を比較しています。これは C です。覚えておいてstrcmpください。文字列を比較するような関数を使用する必要があります。

これまで C で作業したことがない場合、Apache モジュールを作成することから始めるのはおそらく適切ではありません。最初にバックアップして、言語に慣れてください。

于 2012-08-21T06:17:09.010 に答える