「.c」拡張子がある Apache モジュールとない Apache モジュールの違いは何ですか?

「.c」拡張子がある Apache モジュールとない Apache モジュールの違いは何ですか?

私はUbuntu 14.04でapache v2.4を実行しており、コンテナ/ディレクティブはこの形式です

<IfModule mpm_prefork_module>
        # ...
</IfModule>

ただし、Apache の公式ドキュメントや StackExchange サイトで、次のようにモジュールが参照されているのをよく見かけます。

<IfModule prefork.c>
        # ...
</IfModule>

私はたくさん検索しました、ここ-http://httpd.apache.org/docs/2.4/mod/core.html#ifmodule違いは何なのか、またどちらをいつ使用すべきなのかがわかりません。


書き換えモジュールを例に挙げる

アパッチからドキュメント: ifmodule ディレクティブ

モジュール引数は、モジュールがコンパイルされた時点のモジュール識別子またはファイル名のいずれかになります。
たとえば、rewrite_module は識別子で、mod_rewrite.c はファイル名です。

.htaccessファイルではこれがよく見られます

<IfModule mod_rewrite.c>
    # ....
</IfModule>

ディレクトリを確認grepしました/etc/apache2が、「mod_rewrite.c」はどこにも定義されていません。

私のマシンでは、ファイルに次の内容/etc/apache2/mods-available/rewrite.load
が含まれています:

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

つまり、mod_rewrite.cWindows やその他のファイルへの参照ですか? その場合、Linux マシンで参照するのは間違った構文になりますか?

答え1

このページではリンクされたには、次のテキストが含まれています。

モジュール引数は、モジュールがコンパイルされたときのモジュール識別子またはファイル名のいずれかになります。たとえば、rewrite_module は識別子で、mod_rewrite.c はファイル名です。モジュールが複数のソース ファイルで構成されている場合は、文字列 STANDARD20_MODULE_STUFF を含むファイル名を使用します。

提供されている例を使用すると、書き換えモジュールは 'rewrite_module' (識別子) または mod_rewrite.c (ファイル名) のいずれかとして参照できます。どちらも同等であり、違いはありません。どちらでも使用できます。

ソース ファイル mod_rewrite.c を持つモジュールは、mod_rewrite.so にコンパイルされ、ファイル システム上に作成されます。このソース ファイルには、'module AP_MODULE_DECLARE_DATA rewrite_module;' という行があり、'rewrite_module' というモジュールを宣言しています。

モジュールは、識別子である「rewrite_module」、またはコンパイル元のソース ファイルである「mod_rewrite.c」のいずれかで参照できます。

「LoadModule」行は、すでにコンパイルされたオブジェクト mod_rewrite.so から識別子「rewrite_module」を持つモジュールをロードするように指示します。これを構成する場合、識別子またはソース ファイル名 (わかっている場合) を参照できます。

答え2

@DanielLawson がすでに指摘しているように、これはリンク先の Apache マニュアル ページに明確に説明されています。

モジュール引数は、コンパイル時のモジュール識別子またはモジュールのファイル名のいずれかになります。

モジュールのファイル名は.cApache httpd は C 言語で開発されているため、拡張子は C です。

モジュール識別子の概念は、Stack Exchangeのタグに似ています。<IfModule mpm_prefork_module>ブロックには次のように書かれています:mpm_prefork_モジュールこれにより、設定の柔軟性が向上し、異なるモジュールで同じ機能を提供できるようになります。モジュールそしてmod_gnutls.c両方持っていますssl_モジュール識別子。

関連情報