レンタルサーバーで Unity WebGL 埋め込み This can happen if build compression was enabled

WordPress にUnityで制作したものを埋め込む際に下記のようなエラーが出ました。

WordPressの wp-content/upload の直下にビルドしたフォルダをアップロードしました。

This can happen if build compression was enabled but web server hosting the content was misconfigured to not serve the file with HTTP Response Header "Content-Encoding: gzip" present. Check browser Console and Devtools Network tab to debug.

これの解決方法です。

サーバー側のGzip対応を確認

私の利用しているロリポップではGzipに対応しています。

https://support.lolipop.jp/hc/ja/articles/360048374954-GZIP%E3%81%AF%E5%88%A9%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B

以下のように .htaccess を作成し、build フォルダや index.html があるディレクトリに .htaccess をアップロードしました。

<IfModule mod_mime.c>
    # WebAssembly用のContent-Type設定
    AddType application/wasm .wasm
    AddEncoding gzip .gz
</IfModule>

<IfModule mod_headers.c>
    # gzip圧縮ファイルのContent-Type設定
    <FilesMatch "\.wasm\.gz$">
        Header set Content-Encoding gzip
        Header set Content-Type application/wasm
    </FilesMatch>
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteCond %{REQUEST_FILENAME}.gz -f
    RewriteRule ^(.*)$ $1.gz [QSA,L]
</IfModule>

公開できました!