0

CSSとJSの自動バージョン管理に使用している書き換えルールに問題があります。

スタイルシートを含めるための次のHTMLコードがあります。

<link rel="stylesheet" type="text/css" href="includes/css/index_home.1364215354.css" />

.htaccessでこれを使用して、ドットと10桁を削除します。

RewriteEngine On
RewriteRule ^(.*)\.[\d]{10}\.(css|js)$ $1.$2 [L]

サイトをロードすると、ブラウザでhttp://www.example.com/includes/css/index_home.cssを指定しても、スタイルシートが表示されますが、スタイルシートがロードされません。

私が使おうとしている方法、私はここで見つけましたキャッシュされたCSS / JSファイルをブラウザにリロードさせる方法は?

RewriteRuleが問題だと思いますが、理由はわかりません。

4

1 に答える 1

1

RewriteRuleはこれまでのところ問題ありません。おそらく問題は相対URLにあり、リクエストにはプレフィックスが付いています。

この場合は、より具体的にする必要があり(で始まるincludes)、リクエスト文字列の先頭に固定しないでください。また、絶対URLパスに書き換えます

RewriteRule (includes/.*)\.[\d]{10}\.(css|js)$ /$1.$2 [L]

複数の.htaccessファイルがある場合、より具体的な(css)は、ルートディレクトリに近い.htaccessを上書きします。これらの.htaccessファイルをマージするには、RewriteOptions Inheritまたは.htaccessファイルを使用する必要があります。RewriteOptions InheritBeforecss

于 2013-03-25T14:36:52.340 に答える