Cała moja witryna została zabezpieczona hasłem, .htaccess
ale chciałbym ujawnić jeden z podkatalogów, aby można go było przeglądać bez hasła.
Jak mogę wyłączyć ochronę hasłem htaccess dla podkatalogu? Dokładnie jaka jest .htaccess
składnia.
Oto mój .htaccess
plik, który jest umieszczony w katalogu głównym mojego ftp.
AuthName „Administracja witryny” AuthUserFile /dir/.htpasswd AuthGroupFile / dev / null AuthName jest bezpieczne AuthType Basic wymagaj nazwy użytkownika 1 zamówienie pozwala, odmawia zezwolić wszystkim
Odpowiedzi:
Musisz utworzyć nowy
.htaccess
plik w wymaganym katalogu i dołączyć do niegoSatisfy any
dyrektywę w ten sposób, aż do Apache 2.3:Składnia zmieniła się w Apache 2.4, ma to ten sam efekt:
źródło
Allow from all
nieSatisfy Any
.thanks
Satisfy Any
działa i został nieprawidłowo zapisany jakoSatisify Any
. Może to jest powód, dla którego to nie zadziałało.Dodając do odpowiedzi RageZ, użyłem tego w dyrektywach serwera:
Niesamowite. Dzięki RageZ!
źródło
Po prostu utwórz nowy
.htaccess
w wybranym podkatalogu za pomocą tej dyrektywy:Allow from all
Możesz ograniczyć swój adres IP tylko za pomocą:
Allow from x.x.x.x
Zobacz: http://httpd.apache.org/docs/current/mod/mod_access_compat.html
źródło
Musisz dodać kolejny plik .htaccess do podkatalogu, który zastępuje uwierzytelnianie. .htaccess przechodzi kaskadowo w górę, tj. będzie szukał w bieżącym folderze, a następnie przejdzie do wyższego poziomu i tak dalej.
źródło
Oto sposób na zezwolenie na podkatalog „foo” poprzez podstawowe uwierzytelnianie z głównego pliku .htaccess w witrynie:
Uwaga: działa to w Apache 2.4. Nie potwierdziłem dla wcześniejszych wersji.
źródło
Jeśli chcesz zapobiec uwierzytelnianiu htaccess przez określone directoty, możesz użyć następującego kodu w swoim pliku htaccess u góry.
AuthType Basic AuthName "Enter Pass" AuthUserFile /home/public_html/.htpasswd /*PATH TO YOUR .htpasswd FILE*/ Require valid-user SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow Order allow,deny Allow from env=allow
Ponadto, jeśli chcesz zapobiec tworzeniu wielu katalogów, dodaj
SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow
tyle razy ile katalogów chcesz usunąć z zapobiegania htaccess.
źródło