SEO Problem mit URLs in der Tabelle s_core_rewrite_urls

Ich ziehe mehrere Oscommerce Shops mit verschiedenen URL Formaten (sprechende und nicht sprechende Urls) nach Shopware um und habe ein Problem bzgl. einem dieser Formate.

Ich habe alle alten Links die erhalten bleiben sollen den neuen in Shopware zugeordnet was auch super funktioniert bei einem Schema wie diesem hier:

bosch-schleifrolle-c470-papierschleifrolle-115-mm-50-240-p-147640.html

Einer der Shops hat allerdings noch keine schönen sprechenden URL’s gehabt und verwendet das folgende Format:

product_info.php?products_id=37945

Leider funktioniert das in Shopware dann mit der Weiterleitung nicht. Wahrscheinlich wegen dem? oder dem .php. … Habe schon mit urlencoden probiert, geht aber auch nicht.

Gibt es dafür eine Lösung?

 

 

 

 

Ist denn der Aufbau immer gleich? Weil dann könntest du dir ja den QUERY-String ?products_id=37945 nehmen und über eine allgemeine .htaccess Regel in shopware.php?sViewport=detail&sArticle=37945 umschreiben. Das wäre nur eine einzige Regel.

 

Könnte so aussehen:

RewriteCond "%{QUERY_STRING}" "products_id=([0-9]+)"
RewriteRule "product_info.php$" "/shopware.php?sViewport=detail&sArticle=%1" [R,L]

Hat in meinen Tests erstmal funktioniert. Funktioniert natürlich nur, wenn die ID gleich geblieben ist.

Nein, sind mehrere verschiedene Strukturen für Produkte, Kategorien, Hersteller und Contentseiten eine andere. Außerdem sind es eigentlich 2 Subshops die diese nicht sprechenden URLs verwenden und die ID’s sind für diese beiden Subshops leider auch nicht gleich geblieben. Da scheidet die .htaccess Regel glaube ich schon aus :slight_smile:

Habe jetzt auch eine ganze Weile zum testen ca. 900000 Links für insgesamt 5 Subshops in der “s_core_rewrite_urls” Tabelle gehabt, was wieder erwarten keine Probleme gemacht hat trotz das es die größte Tabelle in der DB war :slight_smile:

Noch ein Lösungsvorschlag? Wieso schluckt Shopware die Struktur nicht?

 

 

 

 

Die Rewrite Tabelle kann keine Parameter. Das ist technisch da nicht vorgesehen.

Danke Moritz aber schade, wenn das ginge wäre es out of the box perfekt zum relaunchen!

Ich hab deine .htaccess Code gerade mal testen wollen für eine andere Idee. Geht aber leider nicht. Habe ihn unter die andere RewriteRules kopiert, also nach:
 

RewriteRule ^(.*)$ shopware.php [PT,L,QSA]

RewriteCond "%{QUERY_STRING}" "products_id=([0-9]+)"
RewriteRule "product_info.php$" "/shopware.php?sViewport=detail&sArticle=%1" [R,L]

Aufruf von http://www.shop.de/product_info.php?products_id=1 geht dann aber nicht. Muss die Rule irgendwo bestimmtes hin.

 

Eine andere Idee wäre wenn ich es irgendwie ermöglichen könnte das Zugriff im Shopware Hauptordner auf eine produkt_info.php oder index.php mögliche wäre. Dann könnte ich eine seperate kleine Datenbank mit den Weiterleitungen hinterlegen. Hier müsste man allerdings dann auch in der .htaccess das ganze ermöglichen, nur wie ?

 

 

Hab die ganz oben unter RewritEngine on gepackt.

 

Geil Moritz danke läuft :slight_smile:

Und eine Lösungsweg habe ich damit auch schon so gut wie gefunden.
Und zwar leite ich alle Url’s mit diesem Schema in einen Subfolder um mit Zugriff auf eine kleine DB die die Weiterleitungen ausspuckt. Die RewriteCond muss dann nur noch erweitert werden das je nach Subshop eine andere DB angesteuert wird.

RewriteCond „%{QUERY_STRING}“ „products_id=([0-9]+)“
RewriteRule „product_info.php$“ „http://www.shop.de/umleitung/product_info.php?products_id=%1“ [R,L]

So bläht sich dann die s_core_rewrite_urls auch nicht ganz so derbe auf.