13

.xhtml ファイルを

  • application/xhtml+xmlブラウザがそれを受け入れると言った場合。
  • text/htmlそれ以外は

でやってみましmod_rewriteたが、うまくいきませんでしたOptions -FollowSymLinks( `Options -FollowSymLinks` がある場合、Apache RewriteRule の影響を受けるファイルを表示するときに 403 Forbidden が表示されるのはなぜですか? を参照)。

それから、私は試しました

<Files "*.xhtml">
    <If "%{HTTP:Accept} !~ /application\/xhtml\+xml/">
        ForceType text/html
    </If>
</Files>

しかし、構文エラーが発生します:正規表現のコンパイルに失敗しました

その間、私はこのコードを使用しています...

<Files "*.xhtml">
    <If "%{HTTP:Accept} !~ /xhtml\+xml/">
        ForceType text/html
    </If>
</Files>

...動作しますが、正しいMIMEタイプに一致させたいです。

4

2 に答える 2

11

\x2Fの代わりに のようなエスケープ コードを使用できます/

于 2013-02-28T18:29:37.873 に答える
10

これを改善することは、Apache 2.4 の時点でまだ作成中のようです。代わりに、Apache チーム メンバーの「カバーナー」が推奨 m#regexp#しています。

したがって、コードは次のようになります...

<If "%{HTTP:Accept} !~ m#application/xhtml\+xml#">
于 2015-05-31T17:32:52.140 に答える