Easy Digital Downloadsは、製品ダウンロードファイルを保護するために.htaccessファイル(Apacheサーバーの場合)を使用します。このファイルは wp-content/uploads/edd/ に配置されます。ファイル内のルールは、Downloads → Settings → Misc で設定されたダウンロード方法によって異なります。
ダウンロード方法が強制(Forced)に設定されている場合、デフォルトの.htaccessルールは次のようになります。
Options -Indexes deny from all <filesmatch '.(jpg|png|gif|mp3|ogg) < pre> <p> If Download Method is set to Redirect, the rules are:</p> <pre>Options -Indexes
.htaccessルールを変更する方法
以下に、フィルターを介して、またはWordPressプラグインを使用して.htaccessルールを変更するさまざまなオプションを示します。
注意: EDDは.htaccessファイルを1日1回書き換えるため、ファイル自体に変更を直接加えることはできません。加えた変更は上書きされてしまいます。
1. edd_protected_directory_htaccess_rules フィルターを使用してルールを更新:
これらのルールは、edd_protected_directory_htaccess_rules フィルターを使用して変更できます。たとえば、.mp3ファイルへの直接アクセスをブロックしたい場合(デフォルトでは許可されています)、次のように使用できます。
<?php
function edd_custom_modify_htaccess_rules( $rules, $method ) {
switch( $method ) :
case 'redirect' :
// Prevent directory browsing
$rules = "Options -Indexes";
break;
case 'direct' :
default :
// Prevent directory browsing and direct access to all files, except images (they must be allowed for featured images / thumbnails)
$rules = "Options -Indexes\n";
$rules .= "deny from all\n";
$rules .= "<FilesMatch '\.(jpg|png|gif|ogg)$'>\n";
$rules .= "Order Allow,Deny\n";
$rules .= "Allow from all\n";
$rules .= "</FilesMatch>\n";
break;
endswitch;
return $rules;
}
add_filter( 'edd_protected_directory_htaccess_rules', 'edd_custom_modify_htaccess_rules', 10, 2 );
変更を有効にするには、24時間待つか、Downloads > Settings > Misc に移動し、Download Method を別の値に変更して「Save Changes」をクリックします。これにより、.htaccessファイルが強制的に更新されます。Download Method を以前の値に戻し、再度「Save Changes」をクリックしてください。
.htaccessを空にする
すべてを削除する必要がある場合、以下を含む
Options -Indexes
上記と同様の関数を使用できますが、何も記述しません。例:
<?php
function edd_custom_modify_htaccess_rules( $rules, $method ) {
$rules = "";
return $rules;
}
add_filter( 'edd_protected_directory_htaccess_rules', 'edd_custom_modify_htaccess_rules', 10, 2 );
📢 プロのヒント: コードスニペットをサイトに追加するのに役立ちますか? WPCode、最高のWordPressスニペットプラグインの使用をお勧めします。スニペットの組み込みライブラリや統合されたエラー処理などの機能により、自信を持ってサイトをカスタマイズできます。
