
Ich habe eine Site mit einer virtuellen Verzeichnisstruktur wie , mysite.com/folder/title
die eigentlich eine .htaccess-Umschreibung in ist mysite.com/f/index.php?p=title
. Ich möchte den Ordner folder
mit .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.com
Verzeichnis lege, schütze ich mysite.com
und mysite.com/folder
. Ich habe auch versucht, zu schützen mysite.com/f
.
Wie kann ich nur mysite.com/folder
mit .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/f
Dies 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.