Bert: .htaccess rewrite Problem

Hallo Forum,

Ich habe erfolgreich mittells htaccess benutzerfreundliche URLs generiert.

Leider sind bei bekannten Suchmaschinen noch die alten URLs gelistet, ich möchte daher ein redirect 301 für diese seiten generieren.

So schaut meine htaccess momentan aus und funktioniert super:

  
RewriteEngine On  
  
# Dieser Block schützt vor Hackern  
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]  
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]  
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]  
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]  
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})  
RewriteRule ^(.*)$ index.php [F,L]  
  
RewriteCond %{REQUEST_URI} ^/Seite/(.*?)/([-_0-9a-zA-Z./=]*).htm  
RewriteRule ^(.*)$ /index.php?Objekt=%1&Folge=%2 [NC]  
RewriteCond %{REQUEST_URI} ^/Seite/(.*?)/Bilder/([-_0-9a-zA-Z./=]*).htm  
RewriteRule ^(.*)$ /index.php?Objekt=%1&Folge=Zeige-Bild&Bild=%2 [NC]  
  

Was ich leider nicht hinbekomme ist ein (statisches, keine variablen) redirect von
/index.php?f=start&o=o
nach
/Seite/Haus/Willkommen.htm

Da wird immer automatisch die startseite (index.php) angezeigt.

Wie kann ich diese Weiterleitung realisieren?

Vielen Dank für jede Hilfe,

Grüße,
Bert

  1. Hallo,

    Was ich leider nicht hinbekomme ist ein (statisches, keine variablen) redirect von
    /index.php?f=start&o=o
    nach
    /Seite/Haus/Willkommen.htm

    RewriteCond %{REQUEST_URI} ^/Seite/(.*?)/([-_0-9a-zA-Z./=]*).htm
    RewriteRule ^(.*)$ /index.php?Objekt=%1&Folge=%2 [NC]

    Heißt doch:

    wenn die angeforderte Ressource mit /Seite/... beginnt dann ändere sie in "index.php...", oder?

    Gruß

    jobo

    1. Stimmt!

      Aber wenn ich das so schreibe, wird auch kein redirect erzeugt!

      RewriteCond %{REQUEST_URI} ^/index.php?f=main&o=h
      RewriteRule ^(.*)$ /index.php?Objekt=Haus&Folge=Willkommen.htm [NC,L,R=301]

      Irgendjemand eine Idee?

      1. Hallo,

        Aber wenn ich das so schreibe, wird auch kein redirect erzeugt!

        RewriteCond %{REQUEST_URI} ^/index.php?f=main&o=h
        RewriteRule ^(.*)$ /index.php?Objekt=Haus&Folge=Willkommen.htm [NC,L,R=301]

        Irgendjemand eine Idee?

        Naja, og. rewritet doch nach index.php. Du darfst nicht vergessen, dass nach jedem Rewrite die RewriteRules nochmal abgefragt werden. Wenn Du also von abc/def.php nach index.php?abc=def rewritest und von xyz/def.php nach abc/def.php dann landest du mit xyz/edf.php nachher bei index.php?abc=def (;-).

        Vielleicht kommst Du schneller ans Ziel, wenn Du Dein Problem isolierst und punktgenau testest? Ich würde sagen, o.g. Beispiel von Dir ist kein Test für Dein Problem. Aber hier gibt es andere, die sich besser damit auskennen. Ich vermute auch, dass die schnellen antworten würden, wenn sich das Problem klarer darstellt.

        Gruß

        jobo