nginx - Zwei Shopware Installationen für eine Webseite

Hallo,

ich habe schon getestet und getestet, leider funktioniert es nicht. Ich weiss auch, dass es keine gute Idee ist, aber ein Kunde möchte es so.
Es geht darum, in einer Domain zwei Shopware Installationen zu haben.

domain.de ( Shop )
domain.de/shop ( Shop Spiegelung )

Die aktuelle nginx Direktive für den normalen Shop ist wie folgt:

Code:
location / {
         index index.html index.php shopware.php;
         rewrite shopware.dll /shopware.php;
         rewrite files/documents/.* /engine last;
         rewrite images/ayww/(.*) /images/banner/$1 last;
         rewrite backend/media/(.*) /media/$1 last;
         if (!-e $request_filename){
            rewrite . /shopware.php last;
         }
}

Ich habe nun ebenfalls versucht eine weitere location anzulegen für die Shop Spiegelung, welche unter /shop laufen soll, allerdings greift diese hier nicht.

Code:
location /shop {
         /shop/index /shop/index.html /shop/index.php /shop/shopware.php;
         rewrite /shop/shopware.dll /shop/shopware.php;
         rewrite /shop/files/documents/.* /shop//engine last;
         rewrite /shop/images/ayww/(.*) /shop/images/banner/$1 last;
         rewrite /shop/backend/media/(.*) /shop/media/$1 last;
         if (!-e $request_filename){
            rewrite . /shop/shopware.php last;
         }
}

Hat hier jemand evtl. Erfahrung mit solchen Subdirecotries innerhalb einer Domain und kann mir hier weiterhelfen ?
 

nowayback

Well-Known Member
hi,

ich hab zwar spontan keine lösung für dein problem, verstehe aber auch den sinn nicht... wenn der kunde möchte das der shop auch angezeigt wird, könnte man einfach ein 301er für /shop auf den eigentlichen shop machen und fertig. Das ganze widerspricht irgendwie allem was logisch ist. Wozu der doppelte Datenbestand? Wie sieht es dann mit Lagerhaltung aus? Der eine Shop zeigt 10 Artikel auf Lager und der andere hat schon 3 verkauft, da sinds nur noch 7?!

macht irgendwie keinen sinn deshalb die frage
 
Die Kopie des Shops ist hier für die Entwicklung gedacht. Der Datenbestand ist hier also nicht wichtig.
Bei Shopware hast du entsprechende Plugins, welche Lizenzgebunden sind. Diese Lizenzen sind nur für eine bestimmte Domain ausgestellt.

Machst du deinen Entwicklungsshop also unter einer Subdomain, funktionieren gekaufte Plugins nicht mehr, aufgrund der fehlenden Lizenz.

Um das zu umgehen und sofern du keine Professional Edition für 1400 EUR kaufen möchtest, musst du deinen Entwicklungsshop auf derselben Domain laufen lassen und entsprechend innerhalb eines Unterverzeichnisses.

Nur so laufen hier die entsprechenden lizensierten Plugins.

Das zur Erklärung, weshalb der Kunde hier die Kopie des Shops in einem Unterverzeichnis haben muss.
Natürlich keine saubere Lösung, dass weiss ich.
 

nowayback

Well-Known Member
location /shop { /shop/index /shop/index.html /shop/index.php /shop/shopware.php; rewrite /shop/shopware.dll /shop/shopware.php; rewrite /shop/files/documents/.* /shop//engine last; rewrite /shop/images/ayww/(.*) /shop/images/banner/$1 last; rewrite /shop/backend/media/(.*) /shop/media/$1 last; if (!-e $request_filename){ rewrite . /shop/shopware.php last; } }

Code:
location /shop {
         index index.html index.php shopware.php;
         rewrite shopware.dll /shop/shopware.php;
         rewrite files/documents/.* /shop/engine last;
         rewrite images/ayww/(.*) /shop/images/banner/$1 last;
         rewrite backend/media/(.*) /shop/media/$1 last;
         if (!-e $request_filename){
            rewrite . /shop/shopware.php last;
         }
ungetestet, aber ein versuch wert ;)
 
Danke dafür schon einmal, zumindest schon einmal einen Schritt weiter.
Die Startseite wird hier korrekt geladen, jedoch keinerlei Unterseiten.
Klickst du auf eine wird hier das Template des Hauptshops genommen
( Ich habe hier um zu überprüfen was geladen wird in dem Staging Template eine h1 reingepackt ).
 

nowayback

Well-Known Member
dann kannst du mal versuchen
Code:
if (!-e $request_filename){
            rewrite . /shop/shopware.php last;
         }
ersetzen durch:
Code:
if (!-e $request_filename){
            rewrite . /shopware.php last;
         }

Ich hab halt kein shopware zum testen um kenn den aufbau auch nicht. das einzige was ich von shopware kenn ist die demo die sie vor nem halben jahr im netz hatten ;-)
 

Werbung

Top