Linda Stern: RewriteRule - GET-Parameter komplett entfernen

Hallo zusammen,

ich habe eine Domain geerbt mit Altlasten. Auf der Domain gab es mal Unterverzeichnisse:

  • forum
  • blog
  • gallery

Darunter waren entsprechende Applikationen installiert und auch extern verlinkt. Ich benötige diese Adressen nicht mehr und möchte alle Anfragen, die forum, blog oder gallery nach dem Domainnamen haben auf die Startseite umleiten.

Mit dieser Regel geht es:
RewriteRule ^blog/ http://www.meineseite.de/ [L,R=301]
RewriteRule ^forum/ http://www.meineseite.de/ [L,R=301]
RewriteRule ^gallery/ http://www.meineseite.de/ [L,R=301]

Das Problem ist, dass die Adressen auch noch Hunderte verschiedene GET-Parameter in URL enthalten und diese werden bei der Umleitung nicht abgeschnitten.

Beispiel:
http://www.meineseite.de/forum/index.php?get=4&get=6&get=20

wird zu
http://www.meineseite.de/?get=4&get=6&get=20

sollte aber
http://www.meineseite.de/

Meine Frage ist also, wie leite ich alle Anfragen auf drei Unterverzeichnisse (ob mit oder ohne Parameter) auf die Startseite um, und zwar ohne GET-Paramter im Anhang.

Danke für Eure Hilfe,
Linda

  1. Meine Frage ist also, wie leite ich alle Anfragen auf drei Unterverzeichnisse (ob mit oder ohne Parameter) auf die Startseite um, und zwar ohne GET-Parameter im Anhang.

    Gelöst und damit nachfolgende Generation auch was davon hat:

    RewriteCond %{QUERY_STRING} ^.*$
    RewriteRule ^blog/ http://www.meineseite.de/? [L,R=301]
    RewriteCond %{QUERY_STRING} ^.*$
    RewriteRule ^forum/ http://www.meineseite.de/? [L,R=301]
    RewriteCond %{QUERY_STRING} ^.*$
    RewriteRule ^gallery/ http://www.meineseite.de/? [L,R=301]

    Schönen Tag noch,
    Linda

    1. Hi Linda!

      Gelöst und damit nachfolgende Generation auch was davon hat:

      Das kann man übrigens auch in der Dokumentation nachlesen:

      When you want to erase an existing query string, end the substitution string with just a question mark.
      Quelle: Apache mod_rewrite documentation (etwas weiter unten bei "Note: Query String")

      MfG H☼psel

      --
      "It's amazing I won. I was running against peace, prosperity, and incumbency."
      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
      Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    2. Meine Frage ist also, wie leite ich alle Anfragen auf drei Unterverzeichnisse (ob mit oder ohne Parameter) auf die Startseite um, und zwar ohne GET-Parameter im Anhang.

      Gelöst und damit nachfolgende Generation auch was davon hat:

      Bleibt nur noch die Frage, was das bringen soll. Wenn ich einen Deeplink aufrufe, möchte ich nicht auf die Startseite gelangen - idr. verlasse ich so eine Seite dann gleich wieder.

      1. Meine Frage ist also, wie leite ich alle Anfragen auf drei Unterverzeichnisse (ob mit oder ohne Parameter) auf die Startseite um, und zwar ohne GET-Parameter im Anhang.

        Gelöst und damit nachfolgende Generation auch was davon hat:

        Bleibt nur noch die Frage, was das bringen soll. Wenn ich einen Deeplink aufrufe, möchte ich nicht auf die Startseite gelangen - idr. verlasse ich so eine Seite dann gleich wieder.

        Danke suit, geht mir genauso. Und hinter den Bots arbeiten auch Menschen, denen das so gehen könnte. Es ist in jedem Fall besser, klare Verhältnisse zu schaffen und einen entsprechenden Status auszugeben, wenn ein URL/URI nicht mehr haltbar ist, Status: 410 Gone. Bots können sehr dankbare Geschöpfe sein und quittieren klare Verhältnisse mit einem überschaubaren Index auf ihren Maschinchen was wiederum für einen guten Stand der Seite in den Suchergebnissen sorgt.

        Noch besser ist es, sich die Webmastertools einer Suchmaschine mal anzuschauen. Um dann vielleicht die Erkenntnis zu gewinnen, dass es noch andere und vor Allem zielführendere Möglichkeiten gibt, mit einer Suchmaschine zusammenzuarbeiten.

        Viele Grüße an Alle,
        Horst Haselhuhn

        --
        #!/usr/bin/perl/huhn