4

nginx で実行されている Wordpress マルチサイトのネットワークがあります。w3 total cache を使用してキャッシュを設定しようとしています。私は 99% 成功していますが、1 つのルールに固執しているだけです。

縮小されたcssおよびjsファイルをきれいなURLで書き換えるためのこの書き換えルールを指摘するいくつかの指示を見つけました。

# Rewrite minified CSS and JS files
location ~* \.(css|js) {
    if (!-f $request_filename) {
        rewrite ^/wp-content/w3tc/min/(.+\.(css|js))$ /wp-content/w3tc/min/index.php?file=$1 last;
    }
}

マルチサイト環境で動作するように次のように変更しました。

rewrite ^/wp-content/w3tc-$host/min/(.+\.(css|js))$ /wp-content/w3tc-$host/min/index.php?file=$1 last;

$hostただし、テストは変数を解釈せず、実際に文字列をテストすることがわかりました"$host"$hostテストで変数の値を実際に使用する方法はありますか? または、次のような一般的なルールを使用することをお勧めします。

rewrite ^/wp-content/w3tc-.*?/min/(.+\.(css|js))$ /wp-content/w3tc-$host/min/index.php?file=$1 last;

私はこれについてより良い提案を受け入れています - 正規表現は私にとって強みではありません。

そして最後に、別の答えを探している人のために:縮小設定で「URL 構造の書き換え」を無効にするだけで、縮小を機能させることができます。これは、縮小されたファイルのきれいな URL のためだけです。

4

1 に答える 1