Hi! Wahrscheinlich mache ich etwas komplett falsch.
Ich habe eine Subdomain, in der ich WordPress installiert habe.
Aber wenn ich in mein Verzeichnis “/users/username/www/Subdomain Ordner” die hier generierten .htaccess und .htpsswd Dateien einfüge , passiert nichts.
Genauso, wenn ich die Dateien in das übergeordnete Root-Verzeichnis “/users/username/www/” anlege .
Woran liegt das ?
Hat das was mit dem Ordner zu tun, dem falschen Pfad ( weil Subdomain) , oder mit dem "Begin Wordpress End WordPress " Eintrag zu tun im .htaccess ?
es ist schwer zu erraten wo ran es liegt, da kaum Informationen zu deinem Problem vorliegen.
Kannst du bitte einmal die .htaccess Datei hier rein kopieren (den Inhalt), wenn dort irgend welche wichtigen Daten stehen, diese einfach durch XXX erstetzen ; ).
Wenn es aber um einen reine .htaccess Login geht, hilft dir vielleicht diese Antwort weiter Ende meiner INFO.htm
Wenn noch mehr Informationen in der von dir generierten .htaccess stehen, müssen diese gegebenenfals nach getragen werden.
Eine andere Möglichkeit, warum die htaccess Datei nicht funktioniert ist, das in einem übergeordnetem Verzeichnis eine .htaccess liegt, welche den Zugriff auf ALLE unter Ordner / Dateien verweigert mit “deny from all” bzw. “RedirectMatch 403 ^./meinOrdnerName/(.)$”. Wenn dies der Fall ist, müsstest du in der neuen .htaccess noch zusätzlich schreiben: “allow from all”, damit das Verzeichniss, wo die .htaccess Datei drinnen liegt, sowie alle Unterverzeichnisse aufgerufen werden können. Oder das “RedirectMatch 403 ^./meinOrdnerName/(.)$” aus der vorigen .htaccess Datei entfernen.
PS: “Begin Wordpress” und “End WordPress” müsten Kommentare in der htaccess Datei sein. Diese werden während dem Ausführen der Datei ignoriert.
Hier ist der Inhalt der .htaccess im übergeordneten Verzeichnis:
"< IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
< / IfModule >"
In diesem übergeordnetem Verzeichnis befindet sich mein Verzeichnis mit dem WordPress Install, das ich schützen möchte.
So habe ich darin die folgende .htaccess generiert:
1. Variante
Du willst das komplette WordPress schützen, nicht nur das INSTALL - Verzeichniss, sondern den kompletten Zugriff (Front+Backend)
Dann wäre es das beste, wenn du ungefähr so eine Ordnerstrucktur einrichtest:
/root/
/root/test-wp1/
/root/test-wp1/.htaccess ← die Login htaccess inkl. der .htpasswd
/root/test-wp1/wp-folder/ <— der eigentliche WordPress Ordner im welchem alle Daten liegen
So mit wird jeglicher Zugriff im „test-wp1“ Ordner blockiert und erst auf die untergeordneten Ordner freigegeben, wenn die erste .htaccess Datei sagt OK (durch das Passwort).
ODER
setzte einfach in die aller erste .htaccess Datei (von WordPress) ganz an den Anfang den puren „AuthType Basic […]“ Code [4-Zeilen] (siehe Link im vorigen Beitrag von mir).
2. Variante
du willst nur den reinen „install“ Ordner schützen
(WP sollte eigentlich diesen nach der Installation, sowie die install.php Datei automatisch löschen, so sollte dieser nicht mehr geschützt werden können, da diese nicht mehr existiert) .
/root/wp-ordner/.htaccess ← die Haupt .htaccess ignorieren
/root/wp-ordner/install/.htaccess ← hier die .htaccess mit der .htpasswd einfügen. WICHTIG! den Pfad zur .htpasswd in der .htaccess anpassen.
In dieser .htaccess sollte NUR die Auth-Methode stehen (also das vor dem „BEGIN WordPress“)
WICHTIG: Den Pfad der .htpasswd in der .htaccess kontrollieren
PS: in deiner Antwort hast du ein " (Anführungszeichen) vor dem „AuthType Basic“ stehen. Dies sollte dort eigentlich nicht stehen. PSS: in deiner Antwort hast du in der .htpasswd „XXX: generiertes-passwort/“ auch die Anführungszeichen, sowie ein Leerzeichen geschrieben und am ende der Zeile ein „/“ (Slash). Diese Zeichen sollten nicht in der .htaccess stehen (soweit ich weiß, siehe Link im vorigen Beitrag).
PS3 ; ) : Da ich nicht viel mit WP arbeite kann ich nicht genau sagen, ob die folgende Idee klappt. Das ganze kannst du z.B. aber auch via WP-Plugin lösen ( Authenticator – WordPress plugin | WordPress.org [Google: „wordpress front end authentication“ ← noch mehr Plugins] ). Somit kann auf deine Seite nur zugegriffen werden, wenn man als Admin eingeloggt ist (auf die WP-Version achten).
Edit: Wenn du dich einmal angemeldet hast über den AuthType (htaccess) merkt sich das dein Browser, auch wenn du diesen schließt und loggt sich immer automatisch ein. Deshalb wird dann das Login Fenster nicht mehr angezeigt.
Abmelden kann man sich (soweit ich weiß) nur mit dem Firefox „http://logout:logout@example.com/meinGeschuetzerOrdner/“
Vielen Dank!
Werde jetzt Mal der Reihe nach austesten und melden, was passiert.
Die Leerzeichen und Anführungszeichen habe ich nur gesetzt, damit das nicht wie Code ausgegeben wird, in den Dateien sind diese natürlich nicht drin.
Liebe Grüße! Bis später!