Oxid6 in Unterordner (mit htaccess) führt bei Kunden zu fehlern in den Einstellungen (z.B. /mein-konto/)

Problem:
Wenn ich mich als Kunde anmelde kommt dauernd die fehlermeldung:

Die angeforderte Seite ‘/mein-konto/’ konnte nicht gefunden werden.

(wobei “mein-konto” alles mögliche sein kann)
Mir ist aufgefallen das es nicht kommt solange die index.php immer hinter der Domain steht.
Denn wenn ich “Private-Sales” aktiviere und mich als Kunde anmelde erscheint die “Mein Konto”-Oberfläche, klicke ich allerdings auf den Link (rechts oben) wird in einen Unterordner gegangen und schon hab ich die Fehlermeldung wieder.

Beispiel
Geht:
https://mywebsite.de/index.php?force_sid=q508o2hd6b3rkta0e16jd3gtcqf5s019&
Geht nicht:
https://mywebsite.de/mein-konto/?force_sid=he85o1t8kummf3stqoj5rgpqum91ffpd

Ich vermute ich habe mir mit der .htaccess den Shop gesprengt. :disappointed:

.

Wissenswertes:
Die Installation ist neu. (ohne Demo-Daten)
Mit Composer installiert, (den .git-Ordner hab ich selber gelöscht)

Ich betreibe die Software auf einem CentOS, die Systemgesundheit sagt überall “Grün”,
außer bei MySQL weil ich MariaDB nutze welche als MySQL Version 5.6 erkannt wird.

Bei einer OXID Diagnose kommt es zu folgendem Fehler:

Aufgetretene Fehler
Es gibt keinen OXID eShop CE 6.0.2 mit der Revision .Error: requirements are not met.

Die Domain (mywebsite.de) zeigt via A-Record auf den Webspace ( /var/www/virtual/mywebsite/html/ ), Oxid6 ist in einem Unterordner installiert (oxid_eshop).
Deswegen hab ich eine .htaccess geschrieben welche die Ordner oxid_eshop/source verstecken soll.

Also die index.php vom Shop ist eigentlich unter:
mywebsite.de/oxid_eshop/source/index.php
( /var/www/virtual/mywebsite/html/oxid_eshop/source/index.php )

Aber ich wollte das folgende Ergebnis erzielen:
mywebsite.de/index.php

Meine .htaccess sieht so wie folgt aus:

/var/www/virtual/mywebsite/html/.htaccess

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?:www.)?mywebsite.(com|net|de)$
RewriteCond %{REQUEST_URI} !^/oxid_eshop/source/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /oxid_eshop/source/$1
RewriteCond %{HTTP_HOST} ^(www.)?mywebsite.(com|net|de)$
RewriteRule ^(/)?$ oxid_eshop/source/ [L]
</IfModule>

In der .htaccess vom Shop hab ich die zweite Zeile auskommentiert (gab probleme):
Also dem fall diese hier: #Options +FollowSymLinks

.

Selbst wenn ich den Unterordner nicht erstelle werde ich auf /Source/ verweisen müssen, also gleiches Problem.
Könnt ihr mir mit der .htaccess helfen? (ich denke nicht das der Fehler an MariaDB liegt)

Gruß
DMI

Über den Versionscheck brauchste Dir keinen Kopf machen, Oxid bekommt als Version 6.0.20 zurück. Da schlägt der Vergleich fehl. Und wenn Du den Documentroot anpasst in der Webserverconfig musst auch nix anderes anpassen…
Gruß Marcel

Also liegt es jetzt an der .htaccess?

Der Documentroot ist /var/www/virtual/mywebsite/html/ und den Pfad kann ich nicht ändern. (wenn ich das jetzt nicht falsch verstehe…)
Deswegen habe ich mir versucht mit der .htaccess zu helfen.

Oder muss ich in meinem Fall zusätzlich nach der Installation Pfade in bestimmten Dateien ändern bzw. müssen die Verzeichnisse erst erstellt werden? (konnte die Ordner nicht im Installationsverzeichnis finden)

Es wird ein paarmal SCRIPT_NAME im Shop verwendet, du könntest in der bootstrap.php am Anfang hinzufügen:

$_SERVER['SCRIPT_NAME'] = str_replace('/oxid_eshop/source', '', $_SERVER['SCRIPT_NAME']);

Danke dir, jetzt läuft es wenigstens.

Wie sieht es denn aus wenn ein Update kommt ? (Ich muss dann garantiert die Änderung nochmal ausführen, und alle anderen die ich ab jetzt machen werde… ?)

Wie funktioniert das hier mit dem Aktualisieren?
Ich gehe davon aus das einfach alles bis auf die Plugins überschreiben wird.
(Gibt es Material das ich mir bezüglich dazu durchlesen kann?)

Du kannst die Zeile in config.inc.php schreiben statt in bootstrap.php, die wird nicht überschrieben bei einem Update. Bei einem Update wird alles überschrieben weshalb man Änderungen in einem eigenen Theme oder Child-Theme oder in Modulen machen sollte.