0
PHPと.htaccessをベースにしたCSSとJSスクリプトにキャッシュバストエンジンを使用しています。私の.htaccessに私は有効期限ヘッダーを使用しながら.htaccessとmod_rewriteの条件
function CreateFileFingerprint($RelativePath)
{
$PathInfo = pathinfo($RelativePath);
return $PathInfo['dirname'].'/'.$PathInfo['filename'].'.'.filemtime(DATA_BASEPATH.$RelativePath).'.'.$PathInfo['extension'];
}
:
FileETag None
Header Unset ETag
ExpiresActive On
ExpiresDefault A2592000
ExpiresByType application/javascript A31536000
ExpiresByType text/css A31536000
ExpiresByType text/javascript A31536000
<FilesMatch "[^\.php]$">
Header Append Cache-Control "public"
</FilesMatch>
そして少しのmod_rewriteのルール:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)\.(\d+)\.(css|js)$ $1.$3 [L]
その後、私のPHPでそれをPHPで私は、次の機能を内蔵しページ私は次のコードを使用します:
echo '<link rel="stylesheet" href="'.self::CreateFileFingerprint('/styles/style-base.css').'" media="all"/>';
すべてうまくいきますが、hereのような私のサイト用の汎用PHP ErrorDocumentを実装したいと思います。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /errors/error.php [L]
誰かが私を助けてくださいことができます。問題は、私は、リンクで提案1で私の以前のmod_rewriteルールをマージする必要があるということですか? 多くの感謝!
これは動作しません。 Apacheは500で終了します。 –