Shopware in Unterverzeichnis mit Umleitung per .htaccess

Hi,

kurz gefasst möchte ich Shopware in einem Unterordner meines Document Root installieren und den Namen des Unterordners aus der URL entfernen. Die Anforderung entsteht dadruch, dass ich in einem weiteren Unterordner einen Wordpress Blog installieren werde, der widerum über den entsprechenden Ordner erreichbar sein soll.

Dementsprechend soll die Ordnerstruktur wie folgt aussehen:

/html (Document Root)
/html/shop (Hier ist Shopware installiert)
/html/blog (Hier ist Wordpress instaliert)

Die URLs sollen dabei dann folgendermaßen funktionieren:

www.domain.de -> Zeigt den Shop
www.domain.de/shop -> Redirect auf www.domain.de
www.domain.de/blog -> Zeigt den Wordpress Blog

Ich habe das Ganze auf meinem Server im Vorhinein getestet indem ich innerhalb der beiden Unterordner (blog & shop) mehrere HTML-Dateien und weitere Unterverzeichnisse angelegt habe und dazu folgende .htaccess:

Options +FollowSymLinks
RewriteEngine on

# Redirect wenn /shop in der URL auftaucht zu www.domain.de
RewriteCond %{THE_REQUEST} ^GET\ /shop/
RewriteCond %{HTTP_HOST} ^(www\.)?domain.de$
RewriteRule ^shop/(.*) /$1 [L,R=301]

# Alle Aufrufe bis auf /blog zu Unterordner /shop weiterleiten
RewriteCond %{REQUEST_URI} !^/blog/
RewriteCond %{HTTP_HOST} ^(www\.)?domain.de$
RewriteRule !^shop/ shop%{REQUEST_URI} [L]

Mit den zum Test angelegten Dummy-Inhalten hat alles wie gewünscht funktioniert. Nachdem ich aber Shopware 5.2.24 installiert habe funktioniert der Redirect von www.domain.de/shop zu www.domain.de nicht mehr. Somit wird bspw. der selbe inhalte unter www.domain.de/newsletter und www.domain.de/shop/newsletter angezeigt.

Ich konnte leider nicht erschließen ob der Redirect von der .htaccess im Shopware Verzeichnis oder der internen Logik von Shopware selbst verhindert wird.

Falls mir jemand konkret mit einer Lösung oder einem Tipp helfen könnte, wäre ich sehr dankbar.

Installiert ist alles auf einem Mittwald Managed vServer L 10.0 und läuft mit PHP 7.1-latest FPM.

Ich glaub nicht das Shopware damit klar kommt. Zudem ist der Unterordner dann trotzdem in jedem Export usw enthalten. Zusätzlich zu den Nebenwirkungen die so noch garnicht abzuschätzen sind.

Warum installierst du nicht einfach den Shop im Root und das WP in dem Unterordner Blog? Es ist sicher leichter Shopware abzugewöhnen auf den Controller Blog zu reagieren als das halbgare htaccess gefrickel.

Grüße Matthias

Danke, die Lösung wollte ich eigtl. vermeiden um die beiden Installationen von einander zu trennen. Gerade im Hinblick auf die Update-fähigkeit und Konflikten des Unterordners mit evtl. zukünftigen Funktionen von Shopware sind dafür Grund genug. 

Dein Einwand mit dem Export ist aber vermutlich auch ein guter Hinweis darauf, dass sich der Pfad nicht nur wie aktuell in der URL als Problem darstellen könnte. Daher werde ich wohl nicht drum herum kommen es tatsächlich so zu lösen.

Sollte jemand eine Lösung für das beschriebene Szenario haben würde ich mich trotzdem drüber freuen.

Die Grundsätzliche Frage wäre ob das WP überhaupt nötig ist, da Shopware ja die Blogfunktionalität schon an Bord hat. Da würde sich zumindest aus meiner Sicht das WP nur lohnen wenn hier extrem viele Beiträge geplant sind.

Ob Wordpress notwendig ist kann man natürlich in Frage stellen. In diesem Fall steht die Anforderung aber fest. Daher würde ich die Diskussion hier gerne vermeiden.

@td_rsn schrieb:

Danke, die Lösung wollte ich eigtl. vermeiden um die beiden Installationen von einander zu trennen. Gerade im Hinblick auf die Update-fähigkeit und Konflikten des Unterordners mit evtl. zukünftigen Funktionen von Shopware sind dafür Grund genug. 

Mach’ doch im Shopware-Verzeichnis einen Symlink namens „blog“, der auf das eigentliche WordPress-Verzeichnis zeigt. Dann hast Du beide Installationen sauber getrennt, bekommst aber trotzdem keine Problem mit Pfaden, etc.

Timme Hosting - schnelles nginx-Hosting

www.timmehosting.de