Problem bei lokaler Shopkopie

Hallo zusammen,

ich bin gerade dabei meine lokale Testumgebung zu aktualisieren.
Hierbei bin ich nach folgender Anleitung vorgegangen:
https://susanne-lueders.de/blog/oxid-eshop-kopie-anlegen/

Soweit so gut. Im Prinzip funktioniert auch alles. Ich habe allerdings folgende Auffälligkeit, welche ich vorher nicht hatte.
Wenn ich das Frontend wie folgt aufrufe localhost/oxid erfolgt ein “301 Moved Permanently” und ich werde auf https://localhost umgeleitet und der Aufruf des Frontends schlägt fehl.
Das Gleiche passiert beim Aufruf des Backends. Wenn ich localhost/oxid/admin aufrufe, erfolgt ebenfalls ein “301 Moved Permanently” und ich werde auf https://localhost/admin umgeleitet.

Wenn ich das Frontend und Backend mit localhost/oxid/index.php bzw. localhost/oxid/admin/index.php aufrufe, funktioniert alles.

Hat jemand eine Idee, wo das Problem liegt?

Besten Dank vorab und viele Grüße!

Die Problembeschreibung klingt so, als hättest Du Punkt 6 der verlinkten Anleitung übersprungen oder zumindest nicht richtig gemacht. Welche Änderungen wurden in der erwähnten Datei gemacht?

Ich habe aus der produktiven .htaccess-Datei den Rewrite von http zu https rausgenommen, da ich lokal kein SSL im Einsatz habe.
Darüber hinaus befindet sich meine Testumgebung nicht direkt im root-Verzeichnis, sondern in einem Unterordner namens “oxid”. Ich habe daher die RewriteBase angepasst /oxid.

Meine .htaccess sieht daher wie folgt aus:

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /oxid

    RewriteCond %{REQUEST_URI}     config\.inc\.php [NC]
    RewriteRule ^config\.inc\.php  index\.php       [R=301,L]

    RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
    RewriteRule .* - [F]

    RewriteCond %{REQUEST_URI} oxseo\.php$
    RewriteCond %{QUERY_STRING} mod_rewrite_module_is=off
    RewriteRule oxseo\.php$ oxseo.php?mod_rewrite_module_is=on [L]

    RewriteCond %{REQUEST_URI} !(\/admin\/|\/core\/|\/application\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule !(\.html|\/|\.jpg|\.css|\.pdf|\.doc|\.gif|\.png|\.js|\.htc|\.svg)$ %{REQUEST_URI}/ [R=301,L]

    RewriteCond %{REQUEST_URI} !(\/admin\/|\/core\/|\/application\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (\.html|\/)$ oxseo.php


    RewriteCond %{REQUEST_URI} (\/out\/pictures\/generated\/)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (\.jpe?g|\.gif|\.png|\.svg)$ getimg.php

    RewriteRule ^(vendor/) - [F,L,NC]
</IfModule>

# disabling log file access from outside
<FilesMatch "(EXCEPTION_LOG\.txt|\.log|\.tpl|pkg\.rev|\.ini|pkg\.info|\.pem|composer\.json|composer\.lock|test_config\.yml)$">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
    </IfModule>
</FilesMatch>

# Prevent .ht* files from being sent to outside requests
<Files ~ "^\.ht">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
    </IfModule>
 </Files>

Options -Indexes
DirectoryIndex index.php index.html

Sieht auf den ersten Blick richtig aus.
Die zweithäufigste Ursache ist der Browser Cache. Wenn man versehentlich die Seite aufruft bevor man die htaccess angepasst hat, merkt sich der Browser die Weiterleitung.
Versuch mal den lokalen Shop im anderen Browser oder im inkognito Modus aufzumachen, sonst kann man noch Browser cache ganz löschen.

Asche über mein Haupt! :see_no_evil:
Es war tatsächlich der Browser Cache. Ich scheine, so wie von Dir vermutet, tatsächlich den Shop aufgerufen zu haben, bevor ich die .htaccess angepasst habe. Mir war nicht klar, dass er den Redirect cached.
Jetzt klappt jedenfalls alles! :grinning:
Vielen Dank und ein schönes Wochenende.