Chris1996: .htaccess erweitern

Guten Abend,

ist es möglich mit einer .htaccess folgendes zu erreichen?

Meine URL sieht so aus:
bilder-uebersicht?ort=b

Daraus möchte ich gerne folgendes machen:
bilder-uebersicht/b

Gruß
Chris1996

  1. Moin!

    Meine URL sieht so aus:
    bilder-uebersicht?ort=b

    Daraus möchte ich gerne folgendes machen:
    bilder-uebersicht/b

    Die Antwort lautet "Im Prinzip: Ja."

    Und zwar etwa so:

    RewriteEngine on  
    RewriteRule     ^/bilder-uebersicht\?ort=(.*)$ /bilder-uebersicht/$1 [L]
    

    Allerdings wollen es die meisten anders herum ...

    Jörg Reinholz

    1. Die Antwort lautet "Im Prinzip: Ja."

      Danke dir für das Beispiel!

      RewriteEngine on

      RewriteRule     ^/bilder-uebersicht?ort=(.*)$ /bilder-uebersicht/$1 [L]

        
      
      > Allerdings wollen es die meisten anders herum ...  
        
      Was meinst du damit bzw. wie wollen die meisten es?
      
      1. RewriteEngine on

        RewriteRule     ^/bilder-uebersicht?ort=(.*)$ /bilder-uebersicht/$1 [L]

        
        >   
        > > Allerdings wollen es die meisten anders herum ...  
        >   
        > Was meinst du damit bzw. wie wollen die meisten es?  
          
        Etwa so:  
          
        ~~~apache
        RewriteEngine on  
        RewriteRule ^/bilder-uebersicht/(.*)$ /bilder-uebersicht.php?ort=$1 [L]
        

        Jörg Reinholz

        1. Guten Abend,

          RewriteEngine on

          RewriteRule ^/bilder-uebersicht/(.*)$ /bilder-uebersicht.php?ort=$1 [L]

            
          so meinte ich es eigentlich auch, also der User sieht dann folgendes in der URL:  
            
          examples.com/bilder-uebersicht/koeln  
            
          wenn ich dieses in meine .htaccess schreibe, passiert nichts, es werden einfach alle Bilder angezeigt. Rufe ich meine Seite wie früher mit ?ort=koeln auf, wird es wieder gefilter.  
            
          In meinen Logs stehen keine Fehler. An was könnte es liegen? Die .htaccess geht, da noch ein anderer Code ausgeführt wird.
          
          1. RewriteEngine on

            RewriteRule ^/bilder-uebersicht/(.*)$ /bilder-uebersicht.php?ort=$1 [L]

            
            >   
            > so meinte ich es eigentlich auch, also der User sieht dann folgendes in der URL:  
            >   
            > examples.com/bilder-uebersicht/koeln  
            >   
            > wenn ich dieses in meine .htaccess schreibe, passiert nichts, es werden einfach alle Bilder angezeigt.  
              
            Deine Fehlermeldung war falsch. Denn eigentlich erschien wohl eher gar nichts außer einem 404er. Es sei denn, Du hast in /bilder-uebersicht/ eine index.php, welche die Arbeit macht.  
              
            In der RewriteUkle war ein slash ("/") zu viel:  
              
            ~~~apache
            RewriteEngine on  
            RewriteRule ^bilder-uebersicht/(.*)$ /bilder-uebersicht.php?ort=$1 [L]
            

            getestet mit folgender "/bilder-uebersicht.php"

            <pre><?php  
            print_r($_GET);  
            ?></pre>
            

            dem obigem htaccess-Eintrag und der URL

            http://localhost/bilder-uebersicht/kassel   -- Ergebnis:

            Array
            (
                [ort] => kassel
            )

            http://localhost/bilder-uebersicht/Kölnl   -- Ergebnis:

            Array
            (
                [ort] => Köln
            )

            Bitte merke Dir die Methode (Inhalt der "bilder-uebersicht.php") für den Test. Derlei braucht man quasi ständig auch für Cookies, POST-Daten, Sessions, Dateiupload und nicht zuletzt bei logischen Fehlern, die mit arrays zu tun haben.

            Jörg Reinholz

      2. Hi,

        Allerdings wollen es die meisten anders herum ...
        Was meinst du damit bzw. wie wollen die meisten es?

        die wollen eine "schöne" URL wie etwa /bilder-uebersicht/b haben, und die intern auf /bilder-uebersicht?ort=b abbilden.

        Ciao,
         Martin

        --
        Funktion und Referenz auf diese sind mir bekannt, mit Zeigern kann ich nicht viel mehr anfangen, als damit auf Buttons zu klicken.
          (Ashura)
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
      3. Om nah hoo pez nyeetz, Chris1996!

        Was meinst du damit bzw. wie wollen die meisten es?

        Die wollen die schöne URL example.com/bilder/b/ im Browser sichtbar lassen und deshalb intern auf //example.com/ganzwoanders/bilderübersichtsanzeigescripthtmlausgabe.php?ort=b umleiten.

        Ich vermute mal, das ist auch das, was du möchtest.

        Matthias

        --
        Der Unterschied zwischen Java und JavaScript ist größer als der zwischen äh und ähnlich.