0

私は単純なRewriteRuleを持っています:

RewriteRule ^/r/[0-9]+/(.*)$ /$1

これは、キャッシュバスティングに使用されます。Webサイトがリリースされるたびに、URLプレフィックスを変更します。例:

/r/17/img/image.jpg取得し/img/image.jpgます。

たとえば、これらに長い有効期限ヘッダーを適用したい

<Directory /r>
  Header unset ETag
  FileETag None
  ExpiresDefault "access plus 1 year"
</Directory>

もちろん、RewriteRuleが適用された後、ディレクトリが一致しなくなるため、これは機能しません。Directoryディレクティブ内のこれらのルールを経由でアクセスされるURLに適用するにはどうすればよい/r/ですか?

ありがとう!

4

1 に答える 1

3

<Directory>ディレクティブは、URLパスだけでなく、実際の既存のディレクトリ用です。<LocationMatch>代わりに試してください:

<LocationMatch "^/r(/|$)">
  Header unset ETag
  FileETag None
  ExpiresDefault "access plus 1 year"
</LocationMatch>

または/r、実際のディレクトリに移動します/img

于 2010-12-17T20:55:56.243 に答える