bigbeee: htaccess: id=1000 abfangen und umleiten

Hallo,

ich möchte gern in eine htaccess eine dynamische Seite mit einer bestimmten ID zu einer anderen Seite umleiten.

Umgekehrt ist es ja so möglich:
RewriteRule ^([0-9]+).htm$ /index.php?c=$1

Ich möchte aber für den Fall, dass seite.php?id=1000 aufgerufen wird,
also id gleich 1000 ist, dass der User zu seite.htm weitergeleitet wird.

Weiß vielleicht jemand die Schreibweise dazu?

Danke und Gruß
bigbeee

  1. Hi bigbeee,

    Weiß vielleicht jemand die Schreibweise dazu?

    Auf den Query String kannst du nicht prüfen (siehe hier bei „Note: Query String”), aber schon mal

    ~~~apache RewriteRule ^1000.htm$ /seite.htm [link:http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriteflags@title=[L]]
      RewriteRule ^([0-9]+).htm$ /index.php?c=$1

      
    probiert?  
      
      
    MfG, Dennis.
    
    -- 
    Mein [SelfCode](http://community.de.selfhtml.org/fanprojekte/selfcode.htm): [ie:{ fl:( br:> va:) ls:\[ fo:) rl:( n4:# ss:) de:\] js:| ch:{ sh:| mo:} zu:|](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%7B+fl%3A%28+br%3A%3E+va%3A%29+ls%3A%5B+fo%3A%29+rl%3A%28+n4%3A%23+ss%3A%29+de%3A%5D+js%3A%7C+ch%3A%7B+sh%3A%7C+mo%3A%7D+zu%3A%7C)  
    [Patch zur Verwendung von PATHINFO in JLog](http://www.gymnasium-odenthal.de/~dennis/jlog/PATHINFO-Fix-1.0.1/)  
      
    Der erste Schweizer ist entstanden, als ein Russe versucht hat holländisch zu sprechen. (Thomas Gottschalk)
    
    1. Hallo

      nach Euren Tipps habe ich ein wneig probiert und bin zu folgdender
      Lösung gelangt:

      RewriteEngine On

      RewriteCond  %{QUERY_STRING}  ^id=1000.*
      RewriteRule  ^article.php$ win_spiel.php  [L]

      Wobei win_spiel.php die Datei ist, zu der es gehen soll.
      In den PHP-Code hätte ich auch schreiben können und via header
      weiterleiten können aber so finde ich' schöner.

      Nochmal danke und Gruß
      bigbeee

  2. hi,

    Ich möchte aber für den Fall, dass seite.php?id=1000 aufgerufen wird,
    also id gleich 1000 ist, dass der User zu seite.htm weitergeleitet wird.

    Eine normale RewriteRule beachtet den QueryString gar nicht.

    Du müsstest also mittels RewriteCond erst mal eine Bedingung basteln, die die Servervariable QUERY_STRING entsprechend auswertet.
    Anschießend eine von dieser Bedingung abhängige RewriteRule, die dann zum gewünschten Ziel weiterleitet.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  3. Hallo,

    Ich möchte aber für den Fall, dass seite.php?id=1000 aufgerufen wird,
    also id gleich 1000 ist, dass der User zu seite.htm weitergeleitet wird.

    da du ohnehin PHP einsetzt, halte ich es für einfacher, wenn du in deinem PHP-Script auf id=1000 prüfst und in diesem Fall mit header("Location: ..."); umleitest.

    Weiß vielleicht jemand die Schreibweise dazu?

    Ich bin nicht einmal überzeugt, dass das, was du vorhast, mit mod_rewrite tatsächlich möglich ist.

    So long,
     Martin

    --
    Die letzten Worte des stotternden Beifahrers:
    Frei... frei... frei... freilich kommt da was!!