Ich habe meine gesamte Website mit einem Passwort geschützt .htaccess
, möchte jedoch eines der Unterverzeichnisse verfügbar machen, damit es ohne Passwort angezeigt werden kann.
Wie kann ich den htaccess-Kennwortschutz für ein Unterverzeichnis deaktivieren? Speziell was ist die .htaccess
Syntax.
Hier ist meine .htaccess
Datei, die sich im Stammverzeichnis meines FTP befindet.
AuthName "Site Administratrion" AuthUserFile /dir/.htpasswd AuthGroupFile / dev / null AuthName sicher AuthType Basic Benötigen Sie den Benutzernamen1 bestellen erlauben, verweigern von allen erlauben
Antworten:
Sie müssen eine neue
.htaccess
Datei im erforderlichen Verzeichnis erstellen und dieSatisfy any
Direktive wie folgt einfügen, bis zu Apache 2.3:Die in Apache 2.4 geänderte Syntax hat den gleichen Effekt:
quelle
Allow from all
nichtSatisfy Any
.thanks
Satisfy Any
arbeitet und es wurde falsch geschrieben alsSatisify Any
. Vielleicht hat das bei Ihnen nicht funktioniert.Als Ergänzung zu RageZs Antwort habe ich dies in den Server-Anweisungen verwendet:
Genial. Danke RageZ!
quelle
Erstellen Sie
.htaccess
mit dieser Anweisung einfach ein neues im gewünschten Unterverzeichnis:Allow from all
Sie können Ihre IP nur einschränken mit:
Allow from x.x.x.x
Siehe: http://httpd.apache.org/docs/current/mod/mod_access_compat.html
quelle
Sie müssen dem Unterverzeichnis eine weitere .htaccess-Datei hinzufügen, die die Authentifizierung überschreibt. .htaccess kaskadiert nach oben, dh es wird im aktuellen Ordner angezeigt und steigt dann eine Ebene höher und so weiter.
quelle
Hier ist eine Möglichkeit, das Unterverzeichnis "foo" über die Basisauthentifizierung aus der Hauptdatei .htaccess auf einer Site zuzulassen:
Hinweis: Dies funktioniert in Apache 2.4. Ich habe für frühere Versionen nicht bestätigt.
quelle
Wenn Sie verhindern möchten, dass eine bestimmte Direktive die htaccess-Authentifizierung durchführt, können Sie oben in Ihrer htaccess-Datei den folgenden Code verwenden.
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
Auch wenn Sie mehrere Verzeichnisse verhindern möchten, fügen Sie hinzu
SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow
Sie möchten so viele Verzeichnisse wie möglich aus der Zugriffsverhütung entfernen.
quelle