htaccess ist nicht unnötig, sonst gäbe es sie nicht. Dort sind die rewrite rules hinterlegt. Deswegen würde der Shop ohne der htaccecss Datei auch nicht mehr funktionieren. (man müsste eiogentlich zwischen Shop-Root und Web-Root Verzeichnissen unterscheiden, aber ich gehe davon aus, dass hier eigentlich Web-Root gemeint ist, also der source/ Unterordner vom Shop-Root)
Eigentlich hat OXID einen Private Sales Modus, wenn man den Shop nur für bestimmte Leute eröffnen will.
Das Problem ist im Endeffekt die Unwissenheit darüber, was genau man durch das Kopierten vom Code aus dem Internet auf dem eigenen Webhosting bewirkt. Die meisten Leute kopieren einfach irgendwoher irgendwelchen Code ohne die Beschreibung zu lesen und zu verstehen. Genau das kann zu solchen (und eigentlich auch zu viel schlimmeren) Problemen führen.
Weil vermutlich die meisten es so tun würden, nehme ich mal den Code aus dem ersten Google-Suchergebnis für “htaccess passwort schutz”, bei mir war es redim.de:
AuthType Basic
AuthName "Passwortgeschützter Bereich"
AuthUserFile /pfad/zur/datei/.htpasswd
Require valid-user
blöd ist schon mal, dass auf der Seite jegliche Erklärungen für den besagten Code fehlen.
Im zweiten Suchergebnis sind die Erklärungen zwar da, aber falsch, was mich noch viel trauriger macht.
Uns interessiert hier besonders die letzte Zeile: Require valid-user
Frei übersetzt, heißt es "Erfordere gültigen Benutzer ", d.h. dass der Zugriff auf diesen Ordner nur noch für gültige Benutzer aus der htpasswd Datei möglich sein wird.
Widmen wir uns kurz dem mod_rewrite zu.
Definition aus dem Internet:
Der Begriff “mod_rewrite” bezeichnet ein Modul für den Apache Webserver, welches in zahlreichen Implementationen im Einsatz ist und die Weiterleitung bestimmter Aufrufe an den dedizierten Inhalt steuert. Grundsätzlich wird das Modul dafür verwendet, einen eingehenden Aufruf auf einen Pfad im Dateisystem des Webservers zu transformieren. Somit ist es möglich, eine URL “umzuschreiben”.
Also hat mod_rewrite irgendwas mit URLs zu tun.
Wie testet man, ob irgendwas, das mit URLs zu tun hat, richtig funktioniert? Naheliegend wäre es, diese URLs aufzurufen.
Jetzt gehen wir aber einen Schritt zurück und erinnern uns… Oh wir haben doch jegliche Aufrufe blockiert, so dass man sich jetzt autehntifizieren muss. Jetzt müsste man den Konflikt erkennen: der Shop versucht mod_rewrite zu prüfen, dafür muss der Shop eine seiner URLs aufrufen, kann das aber wegen dem Passwort Schutz nicht tun.
Das ist so, als würde man den Motor aus einem Auto ausbauen, damit es nicht geklaut wird, und sich dann wundern, wenn die Motorkontrolleuchte angeht.
Und nun zu der Lösung.
In dem verlinkten Bug-Eintrag findet man in den Kommentaren auch die Lösung:
Der Kommentar ist schon was älter und Dein Hoster hat hoffentlich ein Update von Apache gemacht, so dass eine Fehlermeldung über veraltete Apache Konfiguration kommen sollte.
Im nächsten Schritt hätte man fragen können, wie man den Code von damals für die aktuelle Apache Version ändern muss, oder wenn man auf Recherchen im Internet steht, dann würde man wahrscheinlich bei diesem Post hier landen:
Das wäre es eigentlich schon gewesen.
Persönlich bin ich aber auch auf der Seite der Shopbetreiber und finde, dass OXID einen funktionierenden Passwortschutz-Code langsam mal in die Doku oder auskommentiert in die htaccess Datei hätte aufnehmen sollen, weil diese Frage immer wieder aufkommt und der 0815 copy-pasted Code aus dem Internet eben nicht für OXID funktioniert. Deswegen sammeln wir auch schon Material für ein Community-Powered FAQ hier im Forum, das von uns hier gepflegt werden kann (und den Passwortschutz habe ich mir direkt mal dazu notiert).