1

皆さんは、 mod_soからのLoadModuleディレクティブをご存知だと思います。反対のことをしたいのですが、.htaccessファイルを介して特定のディレクトリのモジュールをアンロードします。UnloadModule存在しますか?

不要なモジュールが何らかの方法でスクリプトを台無しにしているため、* mod_rewriteを除くすべてのモジュールを無効にする*ことで、スクリプトの互換性を最大限に高めたいと考えています。簡単な方法はありますか?

副次的な質問: mod_deflateのみを無効にする方法は?それは最大のワルです。スクリプトの内部で圧縮を処理したい。

4

2 に答える 2

2

1.すでにロードされているモジュールをアンロードすることはできないと思います。#1で言えることはこれだけです。

2.このコードを.htaccessに入れましょう:

<IfModule deflate_module>
    # Insert filter
    SetOutputFilter DEFLATE
    # Don't compress images
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

    <IfModule headers_module>
        # Make sure proxies don't deliver the wrong content
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
</IfModule>

これにより、.htmlファイルが圧縮されます(もちろん、十分な大きさである限り)。

htmlそれでは、除外された拡張機能のリストに追加しましょう。

    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|html)$ no-gzip dont-vary

次に、同じhtmlファイルをブラウザにリロードします(ブラウザが実際にファイルを新しくロードし(200応答である必要があります)、キャッシュから、または304 Not Modified応答を介してではないことを確認してください)。圧縮なしでhtmlファイルを送信するようになりました。Firebugの確認:圧縮された場合はわずか480バイト、圧縮されていないデータは11.6 KBです(htmlファイルは基本的にテキストの1段落であり、20回ほど繰り返されるため、非常に優れた圧縮です)。

ニーズに合わせて簡単に変更できると確信しています(サーバーでは圧縮がグローバルに有効になっていないため、必要なときに使用するコードです。残念ながら、100%正確なコードを提供することはできません)。例えば:

SetEnvIfNoCase Request_URI .+$ no-gzip dont-vary
于 2011-09-01T20:30:28.283 に答える
0

構成に問題のモジュールのLoadModuleディレクティブをまったく含まないようにすることで、モジュールが最初からロードされないようにすることができます。

于 2011-09-01T20:04:08.443 に答える