Schützen Sie virtuelle Verzeichnisse mit einem Kennwort mit .htaccess

Schützen Sie virtuelle Verzeichnisse mit einem Kennwort mit .htaccess

Ich habe eine Site mit einer virtuellen Verzeichnisstruktur wie , mysite.com/folder/titledie eigentlich eine .htaccess-Umschreibung in ist mysite.com/f/index.php?p=title. Ich möchte den Ordner foldermit .htaccess mit einem Passwort schützen und weiß, wie das mit echten Ordnern geht. Aber ich möchte die Hauptseite nicht mit einem Passwort schützen mysite.com, und wenn ich jetzt die .htaccess-Datei in das mysite.comVerzeichnis lege, schütze ich mysite.comund mysite.com/folder. Ich habe auch versucht, zu schützen mysite.com/f.

Wie kann ich nur mysite.com/foldermit .htaccess schützen?

.htaccess-Inhalt von mysite.com.

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteRule ^folder/(.*)$ /f/index.php?p=$1 [PT,L,QSA]
RewriteRule ^folder/*$ /f/index.php [L,QSA]

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>

.htaccess-Datei, die ich ausprobiert habe. mysite.com/fDies schützt die gesamte Site erfolgreich, wenn es in die andere .htaccess-Datei verschoben wird, daher weiß ich, dass der Pfad korrekt ist.

AuthName "Restricted Area" 
AuthType Basic 
AuthUserFile /home/myusername/.htpasswd 

Antwort1

Zunächst einmal sollten Sie diese Konfiguration (die Umschreibregeln) nicht in .htaccess-Dateien ablegen, sondern in der Hauptkonfigurationsdatei in einem Verzeichnisabschnitt (vorausgesetzt, Sie haben Zugriff auf diese Datei). DieApache-Dokumente erklären, warum.

Sie sollten überprüfen, ob Sie die richtigen AllowOverride-Einstellungen haben. Wenn alles richtig eingerichtet ist, sollte es ausreichen, die von Ihnen angegebene .htaccess-Datei im Ordner mysite/f zu haben, um sie mit einem Passwort zu schützen.

verwandte Informationen