Dennis: mod_rewrite

Hallo,

jemand fit mit mod_rewrite?

wie kann ich folgendes erreichen:

/aktuell_030710.htm
/aktuell_030711.htm
...
...

auf
/index.htm?date=20030710

beiß mir fast die Zähne aus

Dennis

  1. Hallo Dennis,

    wie kann ich folgendes erreichen:

    /aktuell_030710.htm
    /aktuell_030711.htm
    ...
    ...

    auf
    /index.htm?date=20030710

    ungetestet:

    RewriteCond %{REQUEST_URI}  ^/aktuell_[0-9]+.htm$
    RewriteRule ^aktuell_([0-9]+).htm$   /index.htm?date=20$1

    Viele Grüße,
    Christian

    1. /aktuell_030710.htm
      auf
      /index.htm?date=20030710

      RewriteCond %{REQUEST_URI}  ^/aktuell_[0-9]+.htm$
      RewriteRule ^aktuell_([0-9]+).htm$   /index.htm?date=20$1

      Die erste Zeile kann IMHO weggelassen werden, da RewriteRule sowieso nur dann greift, wenn das Muster passt.

      Davon unabhängig würde ich kurzerhand statt aktuell_030710 aktuell/20030710 benutzen. Die URL wird "normaler" (der Schrägstrich ist bereits ein allgemein anerkannter Ebenentrenner, dazu braucht man nicht noch den Unterstrich) und verständlicher (bei 030710 weiß ich jedenfalls nicht, wo da das Jahr sein soll). Die Endung .htm ist überflüssig, sollte deshalb optional sein und vor allen Dingen auch die Nicht-MS-DOS-Variante .html erlauben. Weiterhin sollte zur Sicherheit ein achtstelliges Datum erzwungen werden, das kann aber auch später im Skript passieren.

      RewriteRule ^aktuell/(\d{8})(.html?)$   /index.htm?date=20$1

      Gruß,
        soenk.e

      1. use Mosche;

        RewriteRule ^aktuell/(\d{8})(.html?)$   /index.htm?date=20$1

        Das 20$1 am Ende ist jetzt zuviel des guten :-)

        use Tschoe qw(Matti);

        --
          Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
        1. RewriteRule ^aktuell/(\d{8})(.html?)$   /index.htm?date=20$1

          Das 20$1 am Ende ist jetzt zuviel des guten :-)

          Ups, bis dahin hat die Aufmerksamkeit wohl nicht mehr gereicht, Verzeihung :]

          Gruß,
            soenk.e

    2. ungetestet:

      RewriteCond %{REQUEST_URI}  ^/aktuell_[0-9]+.htm$
      RewriteRule ^aktuell_([0-9]+).htm$   /index.htm?date=20$1

      Viele Grüße,
      Christian

      ... you're the man!

      danke