Wie leite ich alte Dynamische Links mit .htaccess um?

Alles, was den Apache betrifft, kann hier besprochen werden.

Wie leite ich alte Dynamische Links mit .htaccess um?

Postby yogitee » 28. May 2011 12:48

Hallo zusammen,

vielleicht hat ja jemand schon mal ein ähnliches Szenario gehabt und hat vielleicht einen Tipp für mich.

Ich habe einen alten Stratoshop, der generiert total gruselige Links wie:


Code: Select all
http://mein.alter-stratoshop.de/epages/63456787815.sf/de_DE/?ObjectPath=/Shops/63456787815/Kategorie/%22Meine%20alte%20Kategorie2%22/%22Mein%Artikel%22


Ich habe mich dazu entschieden auch die Domain zu wechseln und habe dort schön ein Joomla installiert mit Virtuemart und aceSEF. Beste Entscheidung die ich bis jetzt getroffen habe von Strato wech zu gehen.


Meine Idee war:

Der Logik folgend denk ich mir, "Hey machste nen domain alias mein.alter-stratoshop.de ist auch http://www.mein-neuer-virtuemartshop.de dann kannste das schön mit aceSEF umleiten.

NIX ISS...das einzige was aceSEF mitschneidet und mir zum redirect anbietet ist:

Code: Select all
/epages/63456787815.sf/de_DE/


wenn ich den fetzen auf eine aktuelle Seite verlinken möchte passiert gar nichts, immer noch die 404 Seite.


Folgende Herausforderung stellt sich nun:

Ich möchte gerne die alten Links auffangen und zu den jeweils neuen Seiten umleiten.

leider kommen da so derbe Dinger wie dieser hier in Firefox:


Code: Select all
http://www.mein-neuer-virtuemartshop.de/epages/63456787815.sf/de_DE/?ObjectPath=/Shops/63456787815/Kategorie/"Meine alte Kategorie2"/"Mein Artikel"


und sowas hier in Safari:

Code: Select all
http://mein.alter-stratoshop.de/epages/63456787815.sf/de_DE/?ObjectPath=/Shops/63456787815/Kategorie/%22Meine%20alte%20Kategorie2%22/%22Mein%Artikel%22


angezeigt wird eine 404 Seite... :?

Selbst wenn ich den Link per Hand in aceSEF einfüge, ob mit oder ohne ASCII Codierung, mit oder ohne Leerzeichen, die Weiterleitung greift nicht :-(


Nun die Frage an euch, wär prima wenn mir jemand auf die Sprünge helfen könnte:

  • Wie bekomme ich denn diese blöden Links zu fassen und ordentlich weiter geleitet?

  • Hat jemand ne Idee?

  • Wie zum Henker kann ich diese Chaos links mit ner .htaccess zu fassen bekommen mit den Leerzeichen im Link und dem ?ObjectPath= Pararmeter im alten Link? Ich hab das nicht hinbekommen...trotz Howto für dynamische Links.

P.S: Sorry wenns das falsche Board sein sollte, dachte mir das .htaccess noch eher in die Kategorie Apache rein passt.

Gruß Yogitee
yogitee
 
Posts: 6
Joined: 12. September 2009 18:05

Re: Wie leite ich alte Dynamische Links mit .htaccess um?

Postby yogitee » 29. May 2011 07:54

Hallo noch mal,

Danke für Deine Antort.

In dem Falle habe ich vielleicht Glück.

Dein alter Link:
http://shop.strato.de/epages/6345678781 ... 456787815/
gehört zur Domain strato.de und hat auch eine IP von Strato


Der alte Strato Shop lief unter einer subdomain die ich mitgenommen habe.

Die Links bei Google sind nicht mit dem shop.strato.de/... gelistet sondern mit shop.mein-alte-domain.de/... auf die ich immer noch zugriff habe.

Das SEO plugin schneidet ja den Link teilweise mit nur eben den Schluß nicht:

Code: Select all
?ObjectPath=/Shops/63456787815/Kategorie/%22Meine%20alte%20Kategorie2%22/%22Mein%Artikel%22


Ist e nicht möglich die Anfrage die an meinen Apache kommt so zu modifizieren das er Dinger wie ?ObjectPath= , %22 bzw. leerzeichen , sowie %22 die zu " werden heraus zu schnippeln und ein .html an zu hängen?

Dann hätte ich nen sauberen Link den ich weiterleiten könnte.


Gruß Yogi
yogitee
 
Posts: 6
Joined: 12. September 2009 18:05

Re: Wie leite ich alte Dynamische Links mit .htaccess um?

Postby Nobbie » 29. May 2011 11:03

yogitee wrote:Der alte Strato Shop lief unter einer subdomain die ich mitgenommen habe.


Dann nimm doch den Shop und die Subdomain mit und richte sie auf dem neuen Rechner ein - das muss doch dann ein einfach so laufen?!
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Wie leite ich alte Dynamische Links mit .htaccess um?

Postby yogitee » 29. May 2011 15:32

Moin moin,

ja das dachte ich ja auch erst :-)

Dann nimm doch den Shop und die Subdomain mit und richte sie auf dem neuen Rechner ein - das muss doch dann ein einfach so laufen?!


nur - pustekuchen... hab nun nochmal ein seperates Joomla installiert heute morgen mit aceSEF, dieses aceSEF zeichnet überhauptnichts auf.

Nun will ich mich nicht auf das Joomace versteifen, es muss nicht unbedingt damit gehen, auch wenn es die bequemere Version ist.

Kennst Du denn ein gutes Howto für htaccess rewrites?
yogitee
 
Posts: 6
Joined: 12. September 2009 18:05

Re: Wie leite ich alte Dynamische Links mit .htaccess um?

Postby Nobbie » 29. May 2011 20:19

yogitee wrote:nur - pustekuchen... hab nun nochmal ein seperates Joomla installiert heute morgen mit aceSEF, dieses aceSEF zeichnet überhauptnichts auf.


Was heißt "pustekuchen"? Was hat Joomla, was hat aceSEF (was ich nicht einmal jemals gehört habe) mit Deinem Shop zu tun?

Tutorials über mod_rewrite findet man sicherlich tonnenweise "einfach so" im Internet. Ich wüßte jetzt kein spezielles. Aber ich sehe immer noch nicht, wo das eigentliche Problem liegt - außer dass ich das Gefühl habe, dass Du "vom Hölzken auf's Stöcksken" kommst, ohne dass hier überhaupt jemand wirklich verstanden hat, worum es nun eigentlich geht.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Wie leite ich alte Dynamische Links mit .htaccess um?

Postby yogitee » 30. May 2011 03:42

Na Pustekuchen weil, der Link wohl so verkorst ist, daß "joomla" (ein Open Source Content Management) und "aceSEF" (eine Komponente/ Erweiterung für Joomla) die eigentlich genau für sowas da ist, den Link nicht ganz aufzeichnet.

Der neue Shop läuft auch über eine Erweiterung für Joomla, von daher die Verbindung mit Joomla und dem Shop.

Die Links die Joomla generiert, kann man mit acesef umschreiben oder weiterleiten, dazu noch sehr kompfortabel.

Bei dem spackigen Stratoshop link beisst es sich aber so wie es aussieht die zähne aus ;-(

Eigentlich möchte ich nur:

Code: Select all
http://mein.alter-stratoshop.de/epages/63456787815.sf/de_DE/?ObjectPath=/Shops/63456787815/Kategorie/%22Meine%20alte%20Kategorie2%22/%22Mein%Artikel%22


auf

Code: Select all
http://www.mein-neuer-virtuemartshop.de/neuer-artikel.html


per 301 weiterleiten. Dort den Inhalt hinterlegen, damit Google nicht so rumzickt ;-)

Code: Select all
RewriteEngine on
RewriteRule epages/63456787815.sf/de_DE/?ObjectPath=/Shops/63456787815/Kategorie/%22Meine%20alte%20Kategorie2%22/%22Mein%Artikel%22 http://www.mein-neuer-virtuemartshop.de/neuer-inhalt.html [L]


funktioniert nicht mit dieser Art Link, wenn sich variablen darin befinden ;-(

Mein Kenntnisstand für die .htaccess ist bis jetzt:

Code: Select all
RewriteEngine on
RewriteRule ^/epages/([^*.sf])/de_DE/?ObjectPath=/Shops/63456787815/Kategorie/$ http://www.mein-neuer-shop.de/neuer-inhalt.html [L]


Ich habe auch Tonnenweise Howtos gelesen bin nur nicht weitergekommen, da die Rewriterule in der .htaccess auch in einer httpd.cnf stehen kann dacht ich mir ich frag hier einfach mal nach ob jemand ne Idee hat.

Was ich hier (im Apachefriends Forum) eigentlich suche, bzw. hoffe - ist das jemand ne Idee hat wie ich das lösen kann :-)


Hoffe ich konnte es auf den Punkt bringen ;-)

Danke aber auf jeden Fall für Deine Zeit die Du schon investiert hast.

Gruß Yogitee
yogitee
 
Posts: 6
Joined: 12. September 2009 18:05

Re: Wie leite ich alte Dynamische Links mit .htaccess um?

Postby Nobbie » 30. May 2011 15:01

yogitee wrote:Hoffe ich konnte es auf den Punkt bringen ;-)


Nur insofern, als dass ich glaube, dass Du vielleicht besser in einem Joomla Forum fragen solltest. Offensichtlich handelt es sich ja um Problem von Joomla und diesem aceSEF, oder nicht?!
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Wie leite ich alte Dynamische Links mit .htaccess um?

Postby yogitee » 30. May 2011 21:01

Offensichtlich handelt es sich ja um Problem von Joomla und diesem aceSEF, oder nicht?!


Joomla und die SEO komponente sind ehrlich gesagt nur ne Krücke, richtig sauber ist es nur mit nem Rewrite über den Apache in der httpd.conf oder eben über das .htaccess File.

Das funktioniert auch wenn Joomla und Co nicht funktionieren, gerade im Wartungsmodus also nicht verfügbar ist etc.


Sag ma Nobbie, bist Du eigentlich der einzige hier der das am laufen hält das Forum ;-)? Wenn ja dann mal echt ein großes Lob für Deine Arbeit hier! ;-) Wir nicht immer genug angemerkt und eher als selbstverständlich angesehen das sich Leute den Ars... aufreißen um zu helfen.

Gruß Yogi
yogitee
 
Posts: 6
Joined: 12. September 2009 18:05

Re: Wie leite ich alte Dynamische Links mit .htaccess um?

Postby Nobbie » 31. May 2011 10:42

yogitee wrote:Sag ma Nobbie, bist Du eigentlich der einzige hier der das am laufen hält das Forum ;-)?


Der einzige nicht - aber sehr viele gibt es hier wirklich nicht.

Ich würde es ja auch vielleicht noch mal versuchen, aber ich muss ehrlich zugeben, ich habe immer noch nicht verstanden, wo das Problem genau liegt, die Erklärung ist mir zu "konfus".

Was verstehst Du unter dem "Strato Shop"? Ist das ein (immer noch vorhandener und funktionierender) Shop, den Strato eingerichtet und zur Verfügung gestellt hat, den Du nur mit Leben füllst? Oder ist das eine x-beliebige PHP-Software, die Du auf dem Strato Rechner bisher eingesetzt hast, die Du jetzt aber, samt Datenbank, mitgenommen hast?

Mit anderen Worten: läuft dieser Shop noch dort, wo er immer lief, oder soll er auf einem anderen Rechner laufen?

Ich verstehe in diesem Zusammenhang nicht die Reihenfolge und Richtung, wo URLs umgeschrieben werden müssen. Bislang habe ich da das Gefühl (kann mich aber auch täuschen), dass Du die Funktionsweise von mod_rewrite nicht richtig verstanden hast und Du an der falschen Stelle suchst. Aber das kann ich nicht endgültig beurteilen, weil mir immer noch nicht klar ist, wann und wo welcher URLs umgeschrieben werden sollen.

Dieses Joomla Plugin für "schöne URLs" ist nämlich (aus meiner Sicht) nicht das, was man "URL-Umschreiben" (im Sinne von mod_rewrite) nennt. Das ist genau die andere Seite. Joomla präsentiert damit dem Anwender Links (URLs), die "in echt" überhaupt nicht existieren, die aber "schöner aussehen" als URLs mit unendlich langen Paramaterketten und vorne wird immer nur ein einziges Script (shop.php oder index.php o.ä.) aufgerufen. Damit das aber keine 404-Fehler gibt, wird ZUSÄTZLICH mod_rewrite eingesetzt, um diese schönen URLs in "echte" URLs umzuwandeln, aber diese URLs bekommt der Anwendern dann nicht mehr zu sehen, sondern nur der Webserver.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Wie leite ich alte Dynamische Links mit .htaccess um?

Postby yogitee » 01. June 2011 15:17

Hi Nobbie,

ich hab noch ein wenig weitergegraben.

...ich habe immer noch nicht verstanden, wo das Problem genau liegt, die Erklärung ist mir zu "konfus".


Das macht ja nix ;-) Dazu ist ja ein Forum da, um sich zu "Unterhalten" bzw. aus zu tauschen ;-) Auch wenn einer von beiden sich nicht recht präzise ausdrückt, in dem Fall ich ;-)

Und von Dir erwarte ich auch nicht das Du alles weist, man kann ja garnicht "alles" Wissen und das ist auch nicht schlimm ;-) Ich finde allein den Umstand das Du es versuchst schon sehr cool ;-)

Danke dafür nochmal.


Ich habe aber mein Problem weiter eingrenzen können, mein problem ist, das ich "Reguläre Ausdrücke" nicht verstanden habe, da tue ich mich ein wenig schwer.

Die sind hier beschrieben:

http://www.drweb.de/magazin/was-sind-re ... ausdrucke/

Diese braucht man nämlich um eine dynamisch erzeugte URL weiter zu leiten, nach diesem Syntax:

Beispiel
Code: Select all
RewriteEngine on

RewriteCond %{SERVER_VARIABLE} ^$
RewriteRule [alter Link] [neuer Link]$1 [L]



Meine Quellen bisher:
http://www.bananajoe.de/htac/beispiele.html
http://www.yourhtmlsource.com/sitemanag ... iting.html


Gruß Yogi
yogitee
 
Posts: 6
Joined: 12. September 2009 18:05

Re: Wie leite ich alte Dynamische Links mit .htaccess um?

Postby Nobbie » 01. June 2011 16:09

Code: Select all
RewriteRule [alter Link] [neuer Link]$1 [L]


Dann setzen wir mal hier an. Da das oben natürlich nichts ist, gib doch ein ganz konkretes Beispiel an, was alt und was neu sein soll (mal einen vollständigen Link für alt und neu).

Außerdem nenne dabei explizit noch einmal, welches der ALTE Rechner ist (alte Domain) und welches der NEUE Rechner ist (neue Domain).

Und dann (ganz wichtig!) gib bitte noch ganz genau an, auf welchem Rechner diese URL-Umschreibung stattfinden soll und zu welchen Zeitpunkt sie stattfinden (sprich: sieht der Anwender ALTE Urls im Browser oder NEUE Urls?). Wie ist das gedacht?
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04


Return to Apache

Who is online

Users browsing this forum: No registered users and 16 guests