Jose: .htaccess-Redirect Problem

Hallo.

Ich möchte beim Aufruf von http://.../verzeichnis direkt auf die Datei irgendwas.php in /verzeichnis weiterleiten.

http://de.selfhtml.org/navigation/faq.htm#automatische_weiterleitung sagt mir, ich muss dafür "Redirect  /  http://.../verzeichnis/irgendwas.php" in die .htaccess schreiben. Soweit geht das.
Ich möchte aber auf "irgendwas.php?id=x" weiterleiten. Das geht dann nicht mehr.

Was könnte ich tun? Woran könnte es liegen? (Ich wollte auf eine meta-Angabe in einer Extradatei "index.html" verzichten.)

Vielen Dank für Anregungen,
  Jose

  1. Vielleicht eine umständliche Lösung ... aber sie sollte funktionieren ...

    eine NEUE datei schreiben (z.b. index.htm)

    und in den <body>-tag ein onLoad="" einbauen und zusätzlich ein javaSkript definieren ...

    <script>
       function reLoad(){ top.mainFrame.location.href="xyz.php?id=45"; }

    </script>
    <body onLoad=reLoad()>
    </body>

    P.S. top.mainFrame.location.href="xyz.php?id=45";
         MUSST DU NATÜRLICH NOCH ANPASSEN!

    Hannes

    1. eine NEUE datei schreiben (z.b. index.htm)

      dann könnte ich ja auch eine meta-weiterleitung in einer index.html einbauen. ich würde aber gern auf die extradatei verzichten...

      trotzdem vielen dank,
        jose

  2. hi,

    Ich möchte beim Aufruf von http://.../verzeichnis direkt auf die Datei irgendwas.php in /verzeichnis weiterleiten.

    nur bei anfoederung von verzeichnis/ bzw. /verzeichnis/, oder auch bei /verzeichnis/andere_seite.html?

    wenn ersteres der fall ist, solltest du einfach den DirectoryIndex entsprechend definieren.

    gruß,
    wahsaga

    --
    I'll try being nicer if you'll try being smarter.
    1. hallo wahsaga.

      nur bei anfoederung von verzeichnis/ bzw. /verzeichnis/, oder auch bei /verzeichnis/andere_seite.html?

      wenn ersteres der fall ist, solltest du einfach den DirectoryIndex entsprechend definieren.

      .../verzeichnis/ gibt der benutzer ein und soll bei .../verzeichnis/abc.php?id=x landen. also ersteres. directoryindex klappt aber auch nicht, ich denke mal es liegt an dem teil ?id=x der aber unbedingt übergeben werden muss.

      grüße!

      1. Hallo Jose,

        .../verzeichnis/ gibt der benutzer ein und soll bei .../verzeichnis/abc.php?id=x landen. also ersteres. directoryindex klappt aber auch nicht, ich denke mal es liegt an dem teil ?id=x der aber unbedingt übergeben werden muss.

        irgentwie werde ich aus dem Ganzen nicht schlau. Daher fasse ich es mal so zusammen, wie weit ich noch mitkomme:

        Der User kennt also "/verzeichnis" und ruft es nicht über einen Link auf, sondern nach Deinen Erwartungen wird er es von Hand im Browser eingeben. Das "/verzeichnis" hat aber keine index.php sondern eine "abc.php".

        Soweit ist das alles verständlich. Aber bitte woher soll die "abc.php" jetzt den Wert id herbeziehen? Soll er variabel zugewiesen werden?
        Ist es ein statischer Grundwert? (In beiden Fällen sehe ich keinen Grund, warum "abc.php" nicht index.php heißen kann und Du auf Teufel-komm-raus einen Querystring dafür brauchst.)

        Vielleicht wäre es hilfreich, wenn Du etwas genauer beschreiben würdest, was Du vor hast.

        Gruß aus Berlin!
        eddi

        1. Hi eddi.

          Der User kennt also "/verzeichnis" und ruft es nicht über einen Link auf, sondern nach Deinen Erwartungen wird er es von Hand im Browser eingeben. Das "/verzeichnis" hat aber keine index.php sondern eine "abc.php".

          Ums einfacher zu machen: Ja.

          Soweit ist das alles verständlich. Aber bitte woher soll die "abc.php" jetzt den Wert id herbeziehen? Soll er variabel zugewiesen werden?

          Ja.

          Ist es ein statischer Grundwert? (In beiden Fällen sehe ich keinen Grund, warum "abc.php" nicht index.php heißen kann und Du auf Teufel-komm-raus einen Querystring dafür brauchst.)

          abc.php kann meinetwegen auch index.php heißen, das ändert aber nix. In der PHP steht die HTML-Hülle aller Seiten und der Inhalt wird per PHP mit "echo" aus einer Datenbank eingefügt. Der Inhalt hat in der DB eine ID und die soll übergeben werden, damit die abc.php weiß, welcher Inhalt rein soll.
          Über das Menü wird die ID übergeben ohne dass sich der Besucher drum kümmern muss welche es ist, aber für die Startseite muss eben die ID "1" übergeben werden, sonst sieht man nur die "Hülle" der Seite ohne Inhalt.

          Grüße,
            Jose

          1. hi,

            Über das Menü wird die ID übergeben ohne dass sich der Besucher drum kümmern muss welche es ist, aber für die Startseite muss eben die ID "1" übergeben werden, sonst sieht man nur die "Hülle" der Seite ohne Inhalt.

            dann solltest du dein script einfach entsprechend anpassen, dass es am anfang abfragt, _ob_ eine ID übergeben wurde - und wenn nein, dann die variable im script einfach mit 4 als defaultwert belegt.

            gruß,
            wahsaga

            --
            I'll try being nicer if you'll try being smarter.
            1. Hallo.

              dann solltest du dein script einfach entsprechend anpassen, dass es am anfang abfragt, _ob_ eine ID übergeben wurde - und wenn nein, dann die variable im script einfach mit 4 als defaultwert belegt.

              Na klar, das isses! Vielen, vielen Dank.

              Und so siehts aus:

              if ($id != "");
                  {
                   $id = "1";
                  }

              Grüße,
                Jose

              1. Hallo Jose,

                noch ein ungebetener Tip:

                if ($id != "");
                    {
                     $id = "1";
                    }

                Bitte sei so weitsichtig und mache Dein Script portabel. Greife statt auf $id auf $_GET['id'] zu ;)
                Mögliche Fragen, die jetzt bei Dir aufkommen, kannst Du durch http://suche.de.selfhtml.org/cgi-bin/such.pl?suchausdruck=register_globals&feld=alle&index_5=on&index_6=on&index_7=on&index_8=on&index_9=on&hits=alle und http://de3.php.net/manual/de/security.registerglobals.php abklären.

                Gruß aus Berlin!
                eddi