htaccess, 301Rewrite - Herausforderung

Thema wurde von bigburgi, 14. November 2022 erstellt.

  1. bigburgi
    bigburgi Erfahrener Benutzer
    Registriert seit:
    5. Januar 2013
    Beiträge:
    60
    Danke erhalten:
    8
    Danke vergeben:
    1
    Hallo,

    im Netz schwirren noch so einige Altlasten von eine alten Webseite und umher. Da ich den Hoster schon vor langer langer Zeit gewechselt haben, meckern Google und andere Tool doch immer noch rum. Nun wollte ich per htaccess, 301 Rewrite das abfangen. Das klappt auch bis auf diese eine URL:
    https://www.naturburg.com/modules/wsShop/article.php?article_id=283162&location_id=5

    Wenn ich das hier in die htaccess schreibe,
    RewriteCond %{REQUEST_URI} modules
    RewriteRule ^(.*)$ https://www.naturburg.com [L,R=301]
    komme ich im Gambio Admin nicht mehr z.B. auf die "Modul" => "Versandarten", weil die URL vermutlich https://www.naturburg.com/admin/modules.php?set=shipping lautet.

    Auch wenn ich die komplette URL eingebe bei RewriteCond, geht es nicht, weil "modules" enthalten ist.
    Nun habe ich von Wilken (alter Post von 2018) gehört ein Kombination mit Redirect wäre nicht sinnvoll. Wie kann ich das Problem dennoch lösen? Freue mich auf Ideen!

    Danke
    Dirk
     
  2. Dominik Späte
    Dominik Späte Erfahrener Benutzer
    Registriert seit:
    16. Oktober 2018
    Beiträge:
    1.251
    Danke erhalten:
    1.141
    Danke vergeben:
    391
    Hallo Dirk :)

    Damit Du die originale .htaccess nicht bei jedem Update anpassen musst, würde ich das modules-Verzeichnis einfach physisch erstellen und da eine .htaccess reinpacken, die alles auf die Startseite weiterleitet.

    modules/.htaccess
    Code:
    RewriteEngine on
    RewriteRule .* https://www.naturburg.com/ [L,R=301]
    
     
  3. bigburgi
    bigburgi Erfahrener Benutzer
    Registriert seit:
    5. Januar 2013
    Beiträge:
    60
    Danke erhalten:
    8
    Danke vergeben:
    1
    Hallo Dominik,

    Danke für die gute Idee! :)
     
  4. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Eigentlich müsste man in der Rewrite Bedingung nur etwas genauer angeben wann die Regel treffen soll. Im jetzigen Zustand tut die das, wenn irgendwo in der URL modules vorkommt, es ist also egal ob es www.shop.de/modules/... oder www.shop.de/admin/modules/... ist.

    Nötoges Vorwissen ist, dass die REQUEST_URI normal den aufgerufenen Pfad ohne die eigene Domain enthält, normal begonnen mit einem Schrägstrich für die Wurzel.

    siehe dazu:
    https://httpd.apache.org/docs/current/mod/mod_rewrite.html

    Da müsste also drin sein:
    /modules/wsShop/article.php?article_id=283162&location_id=5

    Die Rewrite Bedingung RewriteCond mag "reguläre Ausdrücke" oder kurz Regex.

    ^ steht darin für den Beginn einer Zeichenkette.
    / darf man nicht einfach schreiben, weil das darin ein Steuerzeichen ist.
    \ sagt sieh das nächste Zeichen danach bitte als normales Zeichen, da beginnt kein Befehl oder sowas.

    Das ergibt dann
    ^\/modules

    Würde immer zutreffen, wenn das Ganze mit /modules... beginnt, aber nicht wenn es z.B. /admin/modules... ist.

    Damit müsstest was bauen können.

    Regex Ausprobier Spielwiese:
    https://regex101.com/
    regex101.png
     
  5. stefan_rot
    stefan_rot Mitglied
    Registriert seit:
    30. September 2020
    Beiträge:
    7
    Danke erhalten:
    0
    Hallo Wilken,

    herzlichen Dank auch für Deine Hilfe und Ausführungen. Nun sollte ich es hinbekommen :)
     
  6. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    18. August 2021
    Beiträge:
    662
    Danke erhalten:
    92
    Danke vergeben:
    273
    Ich gehe mal davon aus, dass Google hier einen 404er Staus meldet.

    Ich dachte eigentlich, dass diese Seiten irgendwann aus dem Google Index automatisch raus fliegen, man also nichts machen muss.

    Ist dem nicht so?
     
  7. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Das kann lange dauern. Man kann aber auch die Löschung bei Google beantragen.
    Nur wenn der Link noch irgendwo existiert (z.B. in einem fremden Blog oder irgendwo bei FB und co), nützt das nichts.
     
  8. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    18. August 2021
    Beiträge:
    662
    Danke erhalten:
    92
    Danke vergeben:
    273
    Ich habe 660 Seiten mit dem Code 404, die alle zu löschen ist viel Arbeit. Zudem werden die dann nur 6 Monate aus dem Google Index genommen, also nicht dauerhaft aus dem Index entfernt.

    Alle meine Artikel-Seiten mit 404er Status haben vor dem .html einen Erweiterung "-1234.html", sind aber nicht aufrufbar.

    Zum Beispiel:

    (Link nur für registrierte Nutzer sichtbar.)

    Diese Seiten gibt es nirgends, weder in der Sitemap, noch im Shop selber. Ich hatte das Problem schon mal über ein Ticket angefragt und man sagte mir, das die Seiten im Cache von der Ladezeitoptimierung liegen, was aber nicht der Fall war, ich habe das geprüft.

    Ich weiß also nicht, woher Google diese Seiten hat.
     
  9. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Das passiert, wenn man einen Artikel kopiert und die URL nicht gleich ändert.
    Dann hängt der Shop die Produkt-ID an die URL, bzw,an den Namen, damit die URL einzigartig und eindeutig bleibt.
    Noch schlimmer wird es, wenn man so einen Artikel dann kopiert, dann wird das z.B.:
    domain.tld/Artikelname-1234-3456.html
     
  10. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    18. August 2021
    Beiträge:
    662
    Danke erhalten:
    92
    Danke vergeben:
    273
    Danke für Deine Antwort.

    Ich denke, es bleibt mir wohl nicht anderes übrig, als abzuwarten, bis Google sie successiv löscht.
     
  11. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    17. Oktober 2018
    Beiträge:
    140
    Danke erhalten:
    78
    Danke vergeben:
    18
    Doch, Du könntest mit einer RewriteRule auf HTTP 410 in der .htaccess dem Google-crawler explizit mitteilen, dass es diese Seiten nicht gibt. Siehe dazu auch hier https://www.onlinesolutionsgroup.de/blog/404-vs-410-google/

    Das hat zumindest uns geholfen die Anfragen nach nicht (mehr) existenten Ressourcen relativ schnell aus dem Google Index zu bekommen. Siehe auch mein Beitrag dazu in diesem Thread https://www.gambio.de/forum/threads/komische-adresse-umleiten-weiterleiten.48991/
     
  12. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    18. August 2021
    Beiträge:
    662
    Danke erhalten:
    92
    Danke vergeben:
    273