Marc: Problem mit .htaccess

Hallo,

ich habe eine .htaccess-Datei mit folgendem Inhalt:

Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([0-9]+)/$ /test/index.php?id=$1
</IfModule>

Damit kann ich die Links meiner Webseite statt mit /test/index.php=1 mit /test/1/ aufrufen. Wenn ich aber /test/1 aufrufe funktioniert das Ganze nicht. Kann jemand helfen?

Ebenso wüsste ich gerne, ob ich jetzt jeden einzelnen Link auf meiner Webseite von z.B. /test/index.php=3 auf /test/3/ umschreiben muss oder ob das auch per .htaccess gemacht werden kann?

besten Dank,
Marc

  1. Die Rewriterule müsste irgend sowas sein:

    RewriteRule ^/test/([0-9]+)/$ /test/index.php?id=$1

    Sonst klappt es natürlich nicht.

  2. Hallo Marc,

    RewriteRule ^([0-9]+)/$ /test/index.php?id=$1

    ^
    Lass mal den Slash weg ;-)

    Schöne Grüße,

    Johannes

    1. ok, soweit so gut. Muss ich jetzt in meiner Seite alle Links nach diesem Muster (/test/1/ ...) umschreiben oder kann man das auch per .htaccess automatisch machen? (also dass ich sie so (index.php?id=1) belassen kann und sie dann automatisch umgeschrieben werden?

      danke!

      1. hallo,

        Muss ich jetzt in meiner Seite alle Links nach diesem Muster (/test/1/ ...) umschreiben oder kann man das auch per .htaccess automatisch machen? (also dass ich sie so (index.php?id=1) belassen kann und sie dann automatisch umgeschrieben werden?

        Wenn du dir genau überlegst, warum du dir die ganze Mühe mit mod_rewrite gemacht hast, solltest du dir diese Nachfrage selbst beantworten können.

        Ein Beispiel zur Demonstration: wir haben in der Zitatesammlung auch mehrere solche "Weiterleitungen" mit einer .htaccess realisiert. Vergleiche mal bitte die beiden Angaben:
        http://community.de.selfhtml.org/zitatesammlung/zitat12 - das ist die "Kurzform"
        http://community.de.selfhtml.org/zitatesammlung/index.php?param=einzelzitat&Nummer=12 - das ist die "Langform", die _eigentlich_ korrekt wäre, aber wir wollten dieses ganze Parametergewurschtel nicht immer in der Adreßzeile stehen haben. Ich verrate dir auch noch (ist ja kein allzugroßes Geheimnis), wie die zugehörige Zeile in der .htaccess aussieht:
          RewriteRule ^zitat([0-9]+)$  index.php?param=einzelzitat&Nummer=$1  [QSA]

        Du siehst: beide Adreßangaben bewirken letzten Endes, aß ein Browser exakt dasselbe anzeigt. Aber natürlich ist die "Langform" sehr unhandlich.

        Das Beispiel sollte ausreichen, damit du den für dich richtigen Schluß ziehen kannst.

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
        1. Hi,

          super! Jetzt hab ichs verstanden :)

          Gruss,
          Marc

          1. hallo Marc,

            super! Jetzt hab ichs verstanden :)

            Na dann ist ja alles gut. Kleiner Hinweis noch: denk an das [QSA] - das ist zwar nicht _immer_ nötig, dürfte aber für deine Absichten hilfreich sein.

            Grüße aus Berlin

            Christoph S.

            --
            Visitenkarte
            ss:| zu:) ls:& fo:) va:) sh:| rl:|