Anfänger Frage: htaccess und htpsswd funktionieren nicht

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 ?

Vielen Dank für jegliche Hilfe! :slight_smile:

Hi komiska,

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.

Vielen Dank, icatch!

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:

"AuthType Basic
AuthName "RosenGarten Zugang"
AuthUserFile /users/komiska/www/xxx/.htpasswd
require valid-user

BEGIN WordPress

END WordPress"

.htpasswd wurde auch mit dem generator gemacht:
“XXX: generiertes-passwort/”

Ich habe leider wenig Wissen über Server-Side.
Möchte nur WordPress Theme-Testseiten anlegen, die geschützt sind.

Vielen Dank für die Geduld! :slight_smile:

Info:
Habe “allow from all” in die “untere” .htaccess datei hineingeschrieben, geändert hat sich nichts.
Die Seite ist immer noch für alle sichtbar :confused:

Hi komiska,

Es gibt 2 Varianten:

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 ( https://wordpress.org/plugins/authenticator/ [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! :slight_smile:

Hey icatch, vielen Dank!!! :clap:

Die erste Variante war die Lösung.

Natürlich auch irgendwie LOGISCH, dass ein .htaccess im übergeordneten Verzeichnis ein untergeordnetes schützen soll.

Hätte uns auch Zeit sparen können, wenn ich darauf vertraut hätte.
Aber es hat auch tatsächlich nicht funktioniert am Anfang.

eyeroll

Viele liebe Grüße!