問題を送信する前に、次の手順を完了していることを確認してください。
バグを説明する
以下は、サブサイトがサブフォルダーにあるマルチサイトで見つかりました。 私はそれをチェックしていませんが、WordPressサブフォルダーのインストールについても同じことが言えます。
独自のCDN書き換えを行うKinstaでは、サイトのURLにパス( https://www.example.com/path/
が含まれていると、CSS / JavaScriptの組み合わせが失敗します。
次のチェックが失敗しています。
https://github.com/wp-media/wp-rocket/blob/8f7f67b621e5085ccf6424a08a15ce636e4fbf2f/inc/functions/formatting.php#L512
これは、次の行にあるためです。
https://github.com/wp-media/wp-rocket/blob/8f7f67b621e5085ccf6424a08a15ce636e4fbf2f/inc/Engine/CDN/Subscriber.php#L238
host
のみを使用しています:
$site_url = $site_url_parts['scheme'] . '://' . $site_url_parts['host'];
最終的に、 $file
は、ここにルートディレクトリパスが含まれません。
https://github.com/wp-media/wp-rocket/blob/8f7f67b621e5085ccf6424a08a15ce636e4fbf2f/inc/functions/formatting.php#L497
これはfalse
を返し、アセットは縮小/結合されません。
再現するには
動作を再現する手順:
予想される行動
KinstaまたはCDN書き換えを行うホストを使用する場合、パスを含むサイトのURLに関係なく、CSS / JavaScriptの組み合わせが機能するはずです。
追加のコンテキスト
関連チケット: https : //secure.helpscout.net/conversation/1272259848/191944?folderId = 2135277
バックロググルーミング(WP Media開発チームのみが使用)
これに関する更新はありますか? それはかなり悪いバグです:/
お客様は、このケースに関する新しいチケットを開きました。
https://secure.helpscout.net/conversation/1332879329/210266?folderId=2683093
@ alfonso100への小道具
次の行を置き換えることで、この問題を解決できます
次の行で
$site_url = untrailingslashit( $site_url_parts['scheme'] . '://' . $site_url_parts['host'] . $site_url_parts['path'] );
それはうまくいくはずです、私は私たちの顧客のサイトの1つでそれを試しました、そしてそれは働いているようです。
グルーミングを終了するまでの追加のコンテキスト:
Kinsta(およびBunnyCDN)は、CDNを使用すると、アセットURLからサブディレクトリパスが削除されるため、サイトURLをコンテンツパスに置き換えると、正しいパスが提供されないため、ここで行ったのは、サイトURLにもパスを追加することです。
例えば:
メインURL: https :
cdnなしのアセットURL: https :
アセットのURL: https :
したがって、アセットURLにサブディレクトリがあると仮定してhttps://mk0runnerslab22n01ig.kinstacdn.com/をhttps://example.org/に置き換えようとします(ただし、kinstaではそうではありません)。したがって、最終的なURLはhttpsです。
関連チケット: https : //secure.helpscout.net/conversation/1367510564/223237/
@ engahmeds3edは、そこで修正をすでに確認しています。
最も参考になるコメント
@ alfonso100への小道具
次の行を置き換えることで、この問題を解決できます
https://github.com/wp-media/wp-rocket/blob/28e7b00cb74df0a18b79c65631d0ba438e019db8/inc/Engine/CDN/Subscriber.php#L231
次の行で
それはうまくいくはずです、私は私たちの顧客のサイトの1つでそれを試しました、そしてそれは働いているようです。