Mam instalację wordpress w katalogu głównym mojego katalogu domowego i mam podfolder, który próbuję chronić za pomocą logowania opartego na. W katalogu głównym znajduje się .htaccess z tymi regułami:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Następnie w moim podfolderze mam ten .htaccess
<IfModule mod_rewrite.c>
RewriteEngine off
</IfModule>
AuthName "MySQLDumper"
AuthType Basic
AuthUserFile "/home/freegame/public_html/msdump/.htpasswd"
require valid-user
Gdy reguły Wordpress są aktywne, dostęp do podfolderu powoduje błąd 404. Kiedy usuwam reguły wordpress, działa dobrze. Jakieś pomysły na to, co zrobiłem źle?
Odpowiedzi:
0 dla odpowiedzi № 1Twoja metoda będzie działać tylko dla plików. Aby chronić katalog, musisz wykonać dodatkowy krok. Zmodyfikuj plik htaccess w katalogu głównym witryny i dodaj poniższe #Begin WordPress comment
.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/(failed_auth.html).*$ [NC]
RewriteRule . - [L]
</IfModule>
To powstrzyma WordPressa od podania błędu 404kod podczas próby uzyskania dostępu do katalogu chronionego hasłem. Zamiast tego otrzyma 403 (wymagana autoryzacja) i poprosi o poprawną nazwę użytkownika / hasło, zamiast uzyskać do niej dostęp.