Easy Digital Downloads używa pliku .htaccess (dla serwerów Apache) do ochrony plików pobierania produktów. Ten plik znajduje się w wp-content/uploads/edd/. Reguły w pliku będą się różnić w zależności od wybranej w Pobrane → Ustawienia → Różne Metody pobierania.
Jeśli Metoda pobierania jest ustawiona na Wymuszone, domyślne reguły .htaccess to:
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
Jak zmodyfikować reguły .htaccess
Poniżej znajdują się różne opcje modyfikacji reguł .htaccess, albo za pomocą filtra, albo za pomocą wtyczki WordPress.
Uwaga: EDD przepisuje plik .htaccess raz dziennie, więc nie można wprowadzać zmian bezpośrednio w samym pliku .htaccess, ponieważ te zmiany zostaną nadpisane.
1. Zaktualizuj reguły za pomocą filtra edd_protected_directory_htaccess_rules:
Te reguły można zmienić za pomocą filtra edd_protected_directory_htaccess_rules. Na przykład, jeśli chcesz zablokować bezpośredni dostęp do plików .mp3 (domyślnie są dozwolone), możesz użyć tego:
<?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 );
Aby zmiany weszły w życie, możesz poczekać 24 godziny lub przejść do Pobrane > Ustawienia > Różne, zmienić Metodę pobierania na inną wartość i kliknąć „Zapisz zmiany”. Spowoduje to wymuszenie aktualizacji pliku .htaccess. Pamiętaj, aby ponownie zmienić Metodę pobierania na poprzednią wartość i ponownie kliknąć Zapisz zmiany.
Opróżnianie .htaccess
Jeśli chcesz pozbyć się wszystkiego, w tym
Options -Indexes
możesz użyć funkcji podobnej do powyższej, ale bez niczego w środku. Przykład:
<?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 );
📢 Wskazówka Pro: Potrzebujesz pomocy w dodawaniu fragmentów kodu do swojej witryny? Polecamy WPCode, najlepszą wtyczkę do fragmentów kodu WordPress. Dzięki funkcjom takim jak wbudowana biblioteka fragmentów i zintegrowane obsługiwanie błędów, możesz pewnie dostosowywać swoją witrynę.
