デフォルトでは、Easy Digital Downloads は wp-content/uploads/edd/ フォルダ内のダウンロードファイルを .htaccess で保護しますが、これはサイトが Apache で実行されている場合にのみ機能します。サイトが NGINX で実行されている場合、ダウンロードファイルは保護されず、誰でもダウンロードできるようになります。この記事では、サイトの構成にカスタムリダイレクトルールを追加してダウンロードファイルを保護する方法を説明します。
NGINX でファイルを適切に保護するには、ダウンロードファイルに直接アクセスできないようにするリダイレクトをサイトのサーバー構成に登録する必要があります。
WPEngine での Web ルールの設定
この手順を実行するには、WPEngine アカウントにログインし、管理したいサイトを選択してから、Web ルールセクションをクリックしてください。次のアクセスルールを追加します。
Type: URI
Operator: Regex matches(~)
Value: ^/wp-content/uploads/edd/\.(jpg|jpeg|png|gif|mp3|ogg|webp)$

このルールは、値フィールドの拡張子を持つファイルへのアクセスを許可します。それ以外のすべてのファイルタイプはブロックされるため、ダウンロード可能なファイルへの直接アクセスが制限されます。
Kinsta でのファイル保護
デフォルトでは、Easy Digital Downloads は wp-content/uploads/edd/ フォルダ内のダウンロードファイルを .htaccess で保護しますが、これはサイトが Apache で実行されている場合にのみ機能します。サイトが KInsta が使用している NGINX で実行されている場合、ダウンロードファイルは保護されず、誰でもダウンロードできるようになります。このドキュメントでは、サイトの構成にカスタムリダイレクトルールを追加してダウンロードファイルを保護する方法を説明します。
NGINX でファイルを適切に保護するには、Kinsta サイトのサイト管理エリアにリダイレクトを登録する必要があります。

Pantheon でのファイル保護
Pantheon では現在、カスタム NGINX リライトルールは許可されていません。Pantheon でファイルを適切に保護するには、Pantheon Compatibility extension をインストールしてウェブサイトで有効にする必要があります。このプラグインは、標準の EDD ディレクトリを Pantheon が提供する保護されたディレクトリ内で機能するように変換します。
EasyEngine/Nginx でのファイル保護
EasyEngine と NginX を使用しながら EDD ファイルを保護するには、server{} ブロックが存在する場所を見つけて、次の行を追加する必要があります。
location ~ ^/wp-content/uploads/edd/(.*?).zip$ { rewrite / permanent; }
リダイレクトの手動設定
セルフホスト VPS またはその他のホスティングアカウントを使用している場合は、サーバー構成のredirectルールを直接変更する必要がある場合があります。
サーバー構成にリダイレクトを手動で追加する場合、次のようになります。オプション 1 が機能しない場合は、オプション 2 を試してください。
# Option 1: rewrite ^/wp-content/uploads/edd/(.*).zip$ / permanent; # Option 2: rewrite ^/wp-content/uploads/edd/(.*)/(.*).zip$ / permanent;
ホスティングプロバイダーによっては、プロバイダーに実装を依頼する必要がある場合があることに注意してください。
