kai: Apache RewriteCond prüfen ob datei angegeben

hallo zusammen,

ich bekomms mal wieder nicht hin,
was ich machen möchte:

ich möchte eine htaccess die folgendes macht.

  • wenn der referer leer ist
  • und wenn nach der eigentlichen urel ( www.meine seite.de ) keine
      datei ( seite.html ) angegeben ist dann soll er auf eine andere
      seite umleiten
  • wenn die eine datei wie seite.html angegeben ist oder der referer
      gleich meiner seite www.meine seite.de ist soll nix passieren.

ich hab das so versucht:

RewriteEngine  On
RewriteCond %{HTTP_REFERER} ^$
RewriteCond !^$.html  [NC]
RewriteCond !^$.php  [NC]
RewriteRule ^(.*)$ http://google.de/ [R,L]

aber natürlich will das nicht.

kann mir das jemand erklähren, bitte.
danke schonmal,

kai

  1. 你好 kai,

    hallo zusammen,

    ich bekomms mal wieder nicht hin,
    was ich machen möchte:

    ich möchte eine htaccess die folgendes macht.

    • wenn der referer leer ist
    • und wenn nach der eigentlichen urel ( www.meine seite.de ) keine
        datei ( seite.html ) angegeben ist dann soll er auf eine andere
        seite umleiten
    • wenn die eine datei wie seite.html angegeben ist oder der referer
        gleich meiner seite www.meine seite.de ist soll nix passieren.

    Ich fasse zusammen:

    Umleitung bei Referer ungleich www.meine seite.de und keine "Datei" angegeben. Daraus folgt:

      
    RewriteEngine On  
    RewriteCond %{HTTP_REFERER} !www\.meine seite\.de  
    RewriteRule ^$ http://www.google.de/ [R,L]  
    
    

    再见,
     克里斯蒂安

    --
    http://wwwtech.de/
    WWWTech.de | Wayne Revived
    Wenn auf Erden alle das Schoene als schoen erkennen, so ist dadurch schon das Haessliche bestimmt.
    1. Ich sage nur

      Danköööö !

      ich hab einfach nur falschrum gedacht.

      cu
      kai

  2. Hi,

    • und wenn nach der eigentlichen urel ( www.meine seite.de ) keine
        datei ( seite.html ) angegeben ist dann soll er auf eine andere
        seite umleiten

    Dann waere der Request URI also nur /

    RewriteCond !^$.html  [NC]
    RewriteCond !^$.php  [NC]

    Bei einer RewriteCond musst du erst mal einen Wert angeben, den du mit einem Muster vergleichen willst.
    Und als Muster ergibt ^$ und dann noch irgendwas auch so gut wie gar keinen Sinn - ^ ist der Stringanfang, und $ das Stringende. Was soll denn nach dem Stringende noch kommen?

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“