Christian Schäfer: Simple RewriteRule gesucht

hallo zusammen!

ich habe eine wahrscheinlich triviale anforderung. aber so recht gelingen möchte es mir nicht..

ich habe auf meiner domain ein unterverzeichnis 'test'. in diesem möchte ich eine .htaccess anlegen, die folgendes macht:

eine anforderung der seite 'http://www.meinedomain.de/test/kategorie/artikel.html' auf folgende uri umgeleitet wird: 'http://www.meinedomain.de/test/index.php?kat=kategorie&art=artikel'

meine .htaccess sieht so aus:

---
RewriteEngine On
RewriteRule ^/(.*)/(.*).html$ /index.php?kat=$1&art=$2
---

aber alles was ich bekomme ist ein error404..

kann mir da jemand unter die arme helfen? danke im vorraus!!!

gruss
/christian

  1. hi,

    eine anforderung der seite 'http://www.meinedomain.de/test/kategorie/artikel.html' auf folgende uri umgeleitet wird: 'http://www.meinedomain.de/test/index.php?kat=kategorie&art=artikel'

    RewriteEngine On
    RewriteRule ^/(.*)/(.*).html$ /index.php?kat=$1&art=$2

    der punkt vor html sollte maskiert werden, .html

    bin mir außerdem gerade nicht sicher, ob der request-URI an dieser stelle auf /kategorie/artikel.html verkürzt wird, nur weil sich deine .htaccess im unterverzeichnis /test befindet.
    da könnte es ggf. helfen, auch noch eine entsprechende RewriteBase anzugeben.

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. hi wahsaga

      RewriteEngine On
      RewriteRule ^/(.*)/(.*).html$ /index.php?kat=$1&art=$2

      der punkt vor html sollte maskiert werden, .html

      stimmt. sollte aber in diesem fall auch so funktioniert haben.

      bin mir außerdem gerade nicht sicher, ob der request-URI an dieser stelle auf /kategorie/artikel.html verkürzt wird, nur weil sich deine .htaccess im unterverzeichnis /test befindet.

      verstehe.. werde mal rumprobieren..

      da könnte es ggf. helfen, auch noch eine entsprechende RewriteBase anzugeben.

      wie ganu mache ich das. bzw worauf soll diese base verweisen?

      auf / auf /test/ auf http://meinedomain.de/ auf http://meinedomain.de/test/ ...?

      gruss
      /christian

      1. hi,

        da könnte es ggf. helfen, auch noch eine entsprechende RewriteBase anzugeben.

        wie ganu mache ich das. bzw worauf soll diese base verweisen?

        der komplette request-URI, der bei deiner anfrage reinkommen wird, dürfte bei deinem beispiel /test/kategorie/artikel.html lauten.

        also sollte m.E. die RewriteBase /test lauten, wenn du deine RewriteRule ab /kategorie matchen lassen willst.

        RewriteEngine On
        RewriteBase /test
        RewriteRule ^/(.*)/(.*).html$ /index.php?kat=$1&art=$2

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    2. hallo nochmal,

      hab das hier versucht:

      RewriteEngine on
      RewriteBase http://194.94.26.21/cs_test/
      RewriteRule ^(.*)/(.*).html /get.php?eins=$1&zwei=$2

      aber immernoch 404...

      gruss
      /christian

      1. hi,

        hab das hier versucht:

        RewriteEngine on
        RewriteBase http://194.94.26.21/cs_test/
        RewriteRule ^(.*)/(.*).html /get.php?eins=$1&zwei=$2

        aber immernoch 404...

        http://194.94.26.21 steht ja auch im request_uri gar nicht mit drin.

        probier's mal so, wie ich hier https://forum.selfhtml.org/?t=95568&m=579964 schrieb.

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
  2. Hallo Christian,

    Als Ergaenzung zu wahsagas Posting solltest du im der Apachekonfiguration noch
    RewriteLog logs/rewrite.log #oder was immer dein gewuenschter Pfad ist
    RewriteLogLevel 9
    eintragen, damit du sehen kannst, wie Apache mit deinen Regln umgeht

    Gruß,

    Dieter

    1. hallo dieter

      Als Ergaenzung zu wahsagas Posting solltest du im der Apachekonfiguration noch
      RewriteLog logs/rewrite.log #oder was immer dein gewuenschter Pfad ist
      RewriteLogLevel 9
      eintragen, damit du sehen kannst, wie Apache mit deinen Regln umgeht

      tja, das würde ich gerne. aber leider ist das nicht mein server...

      gruss
      /christian

      1. Hallo Christian,

        Ich weiss nicht, ob das per .htaccess moeglich ist, schau doch mal in die Apache Docu

        Gruß,

        Dieter

        1. use Mosche;

          Ich weiss nicht, ob das per .htaccess moeglich ist, schau doch mal in die Apache Docu

          Nein, geht nicht.

          use Tschoe qw(Matti);

          --
          Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
           Webapplikationen in C++ entwickeln