Jest to prawdopodobnie prosty problem, ale nie mogę znaleźć rozwiązania w dokumentacji.
Chcę zabezpieczyć hasłem moją witrynę za pomocą uwierzytelniania BASIC. Ale chcę, aby podkatalog nie był chroniony:
http://mysite.com/ -> BASIC protected
http://mysite.com/somedir -> BASIC protected
http://mysite.com/someotherdir -> BASIC protected
http://mysite.com/public -> not protected
Nie mam problemu z ochroną całej witryny, ale nie wiem, jak mogę „zabezpieczyć” jeden katalog. Witryna jest hostowana na hoście współdzielonym, więc mam tylko dostęp do plików .htaccess w celu wykonania konfiguracji.
Czy istnieje dyrektywa negująca uwierzytelnianie?
Dzięki za pomoc ...
apache-2.2
authentication
Guillaume
źródło
źródło
Odpowiedzi:
Nie powinno być problemu z .htaccess, w zależności od tego, na co zezwolił host.
Możesz spróbować umieścić plik .htaccess w podfolderze w następujący sposób, chociaż trzeba będzie włączyć przesłonięcia dla katalogów, w których się znajduje.
źródło
OK, dla ścieżki server.com/private/public:
server.com/private/.htaccess
server.com/private/public/.htaccess
Kluczem jest tutaj „Satisfy Any”, który RNO razem wymagania od góry. „Satisfy All” jest ustawieniem domyślnym.
źródło
Wierzę, że to może to zrobić:
źródło
Udało mi się to rozwiązać w ten sposób:
NIE używaj Lokalizacji, ponieważ są rozróżniane małe i wielkie litery i nie działają na faktyczny dostęp do folderów, ale tylko na adres URL.
Na przykład, jeśli napiszę
lub
lub
różni się w przypadku kontroli lokalizacji, nawet jeśli wywoływany katalog fizyczny jest taki sam !!!
W skrócie, sprawdzasz dostęp do katalogu „rzeczy”, a ja mogę go napisać w innym przypadku.
Również używanie pliku .htaccess w jednym katalogu z kontrolą lokalizacji w innych nie działało.
Mam nadzieję, że to pomoże.
źródło