Hallo zusammen
Erst einmal ein herzliches Hallo, da ich hier neu bin und Oxid erst seit ein paar Tagen benutze.
Den Shop habe ich soweit eingerichtet. Es funktioniert soweit alles, auch dank diesem Forum, wo ich sehr viel zu lesen hatte :o
Den Shop möchte ich mit einem Login schützen, sodass ihn nur Vereinsmitglieder betreten können. Dazu habe ich die .htaccess angepasst:
AuthName "Online-Shop"
AuthType Basic
AuthUserFile /var/www/vhosts/xxx/httpdocs/secure/.htpasswd
Require valid-user
Die Login-Meldung erscheint wie gewünscht. Bei korrekter Dateneingabe ist das Betreten des Shops möglich. Dafür meldet die Systemgesundheit nun, dass es meinem Shop nicht mehr so gut geht :eek:
Die Anforderungen für Apache mod_rewrite Modul sind nicht mehr erfüllt.
Habe ich in der .htaccess einen Fehler gemacht? Wie kann ich den Shop korrekt mit einem Login schützen?
Danke für Eure Hilfe.
Gruss
Andreas
Das ist schon OK.Wenn der Shop eh nur für eine geschlossene Benutzergruppe ist benötigst Du auch keine SEO-URLs.
Du kannst allerdings auch in den Grundeinstellungen “private sales” aktivieren, dann ist der Shop nur mit Benutzername und Passwort einsehbar.
Danke, MeisterYoda für Deine Antwort.
Die Option “Private sales” habe ich schlicht übersehen. Das ist natürlich eine viel elegantere Lösung. Ich muss nur noch prüfen, wie ich erreichen kann, dass keine “Externen” trotzdem ein Konto eröffnen können. Ich schaue mich im Forum/Tutorials um zu diesem Punkt.
Nochmals besten Dank.
Gruss
Andreas
Noch zur Erklärung, wie das Problem zustande kam: Für einige (alle?) der Prüfungen zur Systemgesundheit ruft der Shop sich gewissermaßen selbst auf. Das heißt, es gibt eine URL wie www.mein-shop.de/irgendwas.php (fiktiv
), die das Backend aufruft, und anhand der Antwort feststellt, ob mod_rewrite verfügbar ist usw.
Wenn Du vor den Shop eine Zugriffsbeschränkung hängst wie in Deinem Beispiel, kann das Backend diese URL nicht mehr ansprechen. Dann verfährt der Shop nach dem Motto “Wenn ich nicht feststellen kann, dass mod_rewrite funktioniert, sage ich lieber, dass es nicht funktioniert”.
Du musst also neben denjenigen, die die richtigen Zugangsdaten haben, auch dem Shop selbst den Zugang erlauben. Wie das genau geht, hängt von der verwendeten Webserver-Software (häufig der Apache HTTP Server) und dessen Version ab. Du brauchst auch die IP-Adresse des Servers, auf Dein Shop läuft. Diese Informationen sollte Dir im Zweifel Dein Hosting-Anbieter nennen können. Die folgenden Beispiele verwenden 127.0.0.1 als IP:
Für Apache 2.2.x
AuthName "Online-Shop"
AuthType Basic
AuthUserFile /var/www/vhosts/xxx/httpdocs/secure/.htpasswd
Require valid-user
Allow from 127.0.0.1
Satisfy Any
Für Apache 2.4.x
AuthType Basic
AuthUserFile /var/www/vhosts/xxx/httpdocs/secure/.htpasswd
<RequireAny>
Require valid-user
Require ip 127.0.0.1
</RequireAny>
Das Prinzip ist also in beiden Fällen gleich: “Erlaube denen, die sich als valide Benutzer identifiziert haben, den Zugang. Erlaube denen, die von IP 127.0.0.1 kommen, den Zugang. Eines von beiden (any) genügt.” Der Apache HTTP Server hat seit der 2.4er Serie eine neue, erheblich flexiblere Syntax für solche Anforderungen.
Bis dann,
scribble
Besten Dank für Deine Infos, Scripple!
Die haben mir weiter geholfen, das Ganze zu verstehen.
Es funktioniert so einwandfrei.
Gruss
Andreas