Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: htaccess Redirects vereinfachen?

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.868
    • Geschlecht:
    htaccess Redirects vereinfachen?
    am: 11. März 2015, 08:31:56
    Hallo,

    ich habe da mal ne Frage:
    kann man die folgenden Rewrite-Rules nicht irgendwie vereinfachen? Gerade eben wenn mehrere unterschiedliche alte URLs auf eine neue geleitet werden, finde ich das etwas "too much"
    Code: PHP  [Auswählen]
      RewriteCond %{REQUEST_URI} ::1393\.html
      RewriteRule ^(.*)::1393.html http://www.example.com/ziel:::12345.html [R=301,L]
      RewriteCond %{REQUEST_URI} ::1403\.html
      RewriteRule ^(.*)::403.html http://www.example.com/ziel:::12345.html [R=301,L]
      RewriteCond %{REQUEST_URI} ::1413\.html
      RewriteRule ^(.*)::913.html http://www.example.com/ziel:::12345.html [R=301,L]
      RewriteCond %{REQUEST_URI} ::1416\.html
      RewriteRule ^(.*)::1416.html http://www.example.com/ziel:::12345.html [R=301,L]
      RewriteCond %{REQUEST_URI} ::1418\.html
      RewriteRule ^(.*)::1418.html http://www.example.com/ziel:::12345.html [R=301,L]
      RewriteCond %{REQUEST_URI} ::3963\.html
      RewriteRule ^(.*)::3963.html http://www.example.com/ziel:::12345.html [R=301,L]

    Natürlich ist das nur ein kleiner Auszug, sollte also keine Auswirkungen auf die weiteren Redirects haben, so das also weiterhin weitere à la
    Code: PHP  [Auswählen]
      RewriteCond %{REQUEST_URI} ::384\.html
      RewriteRule ^(.*)::384.html http://www.example.com/anderes-ziel::6789.html [R=301,L]
    möglich sind.

    Wäre schön, wenn mir hier einer weiterhelfen könnte :)

    Grüße
    Dominik

    Linkback: https://www.modified-shop.org/forum/index.php?topic=32467.0

    Matt

    • Experte
    • Beiträge: 4.241
    Re: htaccess Redirects vereinfachen?
    Antwort #1 am: 11. März 2015, 10:16:54
    Du suchst [OR]
    RewriteCond %{REQUEST_URI} ::1393\.html [OR]
    RewriteCond %{REQUEST_URI} ::4831\.html
    RewriteRule .* http://www.example.com/ziel:::12345.html [R=301,L]

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.868
    • Geschlecht:
    Re: htaccess Redirects vereinfachen?
    Antwort #2 am: 11. März 2015, 10:47:39
    Hallo Matt,

    danke dir. So einfach kanns sein  :thumbs:

    Grüße
    Dominik

    p3e

    • Experte
    • Beiträge: 2.424
    Re: htaccess Redirects vereinfachen?
    Antwort #3 am: 11. März 2015, 11:05:07
    Wenn die Rewrite-Rules zu viele werden und  dadurch die htaccess zu umfangreich, kannst Du alternativ ein Script schreiben, dass die neue Adresse in der Datenbank speichert und dann weiterleitet, wenn ein Artikel nicht mehr aufrufbar ist und eine Alternative hinterlegt ist.
    Man könnte sogar noch weiter gehen und das Script sucht bei nicht eingetragener Weiterleitung anhand der Keywords in der URL nach ähnlichen Produkten, leitet also an die advanced_search_result.php um.

    Aus
    http://www.example.com/badeenten-seife:::12345.htmlwird dann
    http://www.example.com/advanced_search_result.php?keywords=badeenten+or+seife&search_in_description=1
    Also nur so als Idee für eine nützliche Erweiterung. Gehört zu den vielen Erweiterungen, die ich immer mal schreiben wollte, wo mir aber immer die Zeit fehlt.

    Das kann man dann über einen rewrite auch noch in eine schöne URL umwandeln, wie zB.:
    http://www.example.com/badeenten-seife-alternative.html

    Alfred

    • Experte
    • Beiträge: 2.115
    Re: htaccess Redirects vereinfachen?
    Antwort #4 am: 11. März 2015, 14:38:41
    ...., leitet also an die advanced_search_result.php um........
    Das kann man dann über einen rewrite auch noch in eine schöne URL umwandeln

    Das ist keine gute Idee.
    All diese Seiten müssten im Minimum auf noindex stehen.
    Sonst freuen sich diverse Anwälte und auch Spamer für diverse Pillen.

    p3e

    • Experte
    • Beiträge: 2.424
    Re: htaccess Redirects vereinfachen?
    Antwort #5 am: 11. März 2015, 16:09:55
    Wieso Anwälte und Spamer?

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.868
    • Geschlecht:
    Re: htaccess Redirects vereinfachen?
    Antwort #6 am: 11. März 2015, 16:11:36
    So, jetzt noch ein dringendes Problemchen:
    wie fängt man korrekt ab, dass durch die Trennzeichen der Kategorien ( ::: ) und Produkte ( :: ) falsche Umleitungen entstehen?

    Denn aktuell wird dann durch
    Code: PHP  [Auswählen]
      RewriteCond %{REQUEST_URI} ::483\.html
      RewriteRule ^(.*)::483.html http://www.example.com/ziel::12345.html [R=301,L]

    nun fälschlicherweise leider auch diese Kategorie umgeleitet:
    Code: PHP  [Auswählen]
    http://www.example.com/Kategorie:::483.html

    Grüße
    Dominik

    burrito

    • Viel Schreiber
    • Beiträge: 535
    • Geschlecht:
    Re: htaccess Redirects vereinfachen?
    Antwort #7 am: 11. März 2015, 16:18:49
    ungetestet:

    Code: PHP  [Auswählen]
    RewriteCond %{REQUEST_URI} ::483\.html
      RewriteRule ^(.*!:)::483.html http://www.example.com/ziel::12345.html [R=301,L]

    burrito

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.868
    • Geschlecht:
    Re: htaccess Redirects vereinfachen?
    Antwort #8 am: 11. März 2015, 17:18:31
    Danke burrito,

    das funktioniert soweit. Dann muss ich wohl oder übel nochmal über meine htaccess drüber schauen :)

    Grüße
    Dominik

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.868
    • Geschlecht:
    Re: htaccess Redirects vereinfachen?
    Antwort #9 am: 11. März 2015, 20:17:33
    Und könnte man das nun wieder in einer "Gruppenfunktion", wie von Matt bereits gepostet, zusammenfassen?

    Denn in burritos Idee müsste ich doch wieder jede einzelne URL separat umschreiben!

    Grüße
    Dominik

    Matt

    • Experte
    • Beiträge: 4.241
    Re: htaccess Redirects vereinfachen?
    Antwort #10 am: 11. März 2015, 20:20:50
    Musst du nicht, du kannst ja auch den '483.html'-Teil durch ne Wildcard ersetzen.

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.868
    • Geschlecht:
    Re: htaccess Redirects vereinfachen?
    Antwort #11 am: 11. März 2015, 20:48:45
    Ach Matt :)

    Was ist denn nun an der Stelle in der htaccess schon wieder ne Wildcard? :D

    Das hier? [0-9]+\.html
    Grüße
    Dominik

    Matt

    • Experte
    • Beiträge: 4.241
    Re: htaccess Redirects vereinfachen?
    Antwort #12 am: 11. März 2015, 20:56:23
    Beispielsweise, wobei im konkreten Fall vermutlich auch (.*) den gleichen Zweck erfüllen würde.

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.868
    • Geschlecht:
    Re: htaccess Redirects vereinfachen?
    Antwort #13 am: 11. März 2015, 21:21:23
    Also meinst du, dass es so aussehen sollte?

    RewriteRule ^(.*!:)::(.*).html http://www.example.com/ziel::12345.html [R=301,L]

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: htaccess Redirects vereinfachen?
    Antwort #14 am: 12. März 2015, 01:54:49
    Das dürfte nicht gehen, da dann alle Artikel auf die neue URL umgeleitet würden, denn (.*) steht für irgendwas null oder mehrfach, also auch jegliche Produkt-ID.

    Was man versuchen könnte wenn mehrere Artikel auf eine einzige neue URL geleitet werden sollen und diese "mehreren Artikel" alle aus einer bestimmten Produkt-ID-Range kommen (z.B. 1423 -1428), wäre die Wildcard einzuschränken mittels "Fixed quantifier", was allerdings nicht so ohne ist zu bewerkstelligen ohne dabei einen Fehler zu machen.

    Gruß,
    noRiddle
    4 Antworten
    2337 Aufrufe
    20. Februar 2017, 09:57:57 von Roberto75
    7 Antworten
    762 Aufrufe
    09. März 2024, 19:00:19 von karsta.de
    22 Antworten
    14073 Aufrufe
    21. März 2011, 12:47:28 von speedy
               
    anything