1

ETagを必要とする他の誰かのAPIを使用するWebアプリケーションを作成しました。私はこのコードを試しました:

header("ETagbleh: whatever");

これは完璧に機能します。ただし、これを設定すると、次のようになります。

header("ETag: whatever");

何も起こりません。ApacheがETagの送信をブロックしている可能性があると聞きましたが、よくわかりません。apache2.confでETagを検索しましたが、コメントを外したり削除したりするものが見つからないため、ここに来て質問しました。

では、Apacheがヘッダーをブロックするのを防ぐにはどうすればよいですか?

編集:私はApache 2.2.22を使用していますが、私が使用しているPHP 5.4.4が他のヘッダーを適切に設定できることを考えると、スクリプト言語は無関係であると思いました。

4

1 に答える 1

1

私は同じ問題を抱えていました。

Apache2 で ETag を削除する非常に一般的な方法は、次の構成を追加することです。

Header unset ETag
FileETag None

構成で最初の構成行が見つかった場合は、削除します。

見つけるのが少し難しいmod_includeのが問題の原因です。デフォルトでは、ETag-Header はこのモジュールによって削除されます。ただし、構成によって許可することができます。したがって、次のようなものを追加します。

 <IfModule mod_include.c>
     SSIETag on
 </IfModule>

詳しくはこちらをご覧ください。

于 2015-09-09T10:02:49.583 に答える