Problem mit mod_rewrite

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit mod_rewrite

    Hallo,

    ich habe ein Problem mit mod_rewirte und bin langsam am verzweifeln. Überall finde ich zwar die selben Beispiele, die ich auch probiere, aber es funktioniert nicht. Deswegen stelle ich jetzt mal hier mein Problem vor:

    Ich möchte das die Links folgendermaßen aussehen: board/3/ soll zum board mit der ID 3 linken. Es wird mir aber nur die board.php angezeigt ohne die ID.

    Hier mein Code für den Rewrite:
    Code:
    RewriteRule ^/board/([0-9]+)$ /board.php?id=$1
    Aber vergebens, das funktioniert leider nicht. Bitte helft mir. Danke im voraus

  • #2
    Re: Problem mit mod_rewrite

    setze doch zunächst mal das flag [R] hinter die rewriterule, um einen redirect zu erzwingen.
    dann wissen wir schon mal, ob das umschreiben funktioniert, und das problem nicht vielleicht woanders liegt ...


    p.s.: die rewrite engine vorher aktiviert hast du aber schon, oder?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Aktiviert ist es, den sonst würde ja nix angezeigt werden?

      Hab das [R] nun dahinter gesetzt, das resultat ist das gleiche. Muss ich das vielleicht in die Config schreiben? Reicht es nicht, wenn ich eine htaccess erstelle?

      Kommentar


      • #4
        PHP-Code:
        RewriteEngine on
        RewriteCond 
        %{REQUEST_URIboard/(.*)$
        RewriteRule board/(.*)$ /board.php?id=$
        Aufruf z.B.: board/5
        mfg
        marc75

        <Platz für anderes>

        Kommentar


        • #5
          Okay, auch schon ausprobiert. Nur leider auch vergebenes. Ich hab mir mal gedacht, mach ich mal nen Copy von dem was in meiner PHPINFO() steht.

          apache2handler
          Apache Version Apache/2.0.49 (Win32) mod_ssl/2.0.49 OpenSSL/0.9.7d PHP/4.3.4
          Apache API Version 20020903
          Server Administrator admin@localhost
          Hostname:Port localhost:0
          Max Requests Per Child: 0 - Keep Alive: on - Max Per Connection: 100
          Timeouts Connection: 300 - Keep-Alive: 0
          Virtual Server No
          Server Root E:/xampp/apache
          Loaded Modules core mod_win32 mpm_winnt http_core mod_so mod_access mod_actions mod_alias mod_asis mod_auth mod_autoindex mod_cgi mod_dir mod_env mod_imap mod_include mod_isapi mod_log_config mod_mime mod_negotiation mod_rewrite mod_setenvif mod_userdir mod_ssl sapi_apache2

          Kommentar


          • #6
            Original geschrieben von fear`
            Hab das [R] nun dahinter gesetzt, das resultat ist das gleiche.
            das heißt ...?
            auf welche seite wird umgeleitet?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Wie meinen?

              Also umgeleitet, das sich die Adressezeile ändert, wird gar nicht. Was heisst das nun? Es gibt ja jetzt nur 2 Möglichkeiten:

              1. Das funktioniert lokal nicht
              2. Ich bin zu blöd dafür obwohl ich eigentlich alles richtig mache

              Also wenn ich board/2/ Aufrufe, bleibt die URL so stehen. Allerdings, wird nicht board.php?id=2 angezeigt, sondern nur board.php.

              ---- EDIT ----
              Bin mir nicht sicher, aber ich weiss glaube ich wo der Fehler liegt. Folgendes: Wenn ich lokal eine PHP-Datei aufrufe die im Ordner xyz liegt ohne die Endung .php wird diese trotzdem angezeigt. Ich denke daran liegt das Problem. Stellt sich nur die Frage, wie änder/schalte ich diese Funktion aus?
              Zuletzt geändert von fear; 09.07.2004, 14:21.

              Kommentar


              • #8
                Original geschrieben von fear`
                Wie meinen?

                Also umgeleitet, das sich die Adressezeile ändert, wird gar nicht. Was heisst das nun? Es gibt ja jetzt nur 2 Möglichkeiten:

                1. Das funktioniert lokal nicht
                2. Ich bin zu blöd dafür obwohl ich eigentlich alles richtig mache

                Also wenn ich board/2/ Aufrufe, bleibt die URL so stehen. Allerdings, wird nicht board.php?id=2 angezeigt, sondern nur board.php.

                ---- EDIT ----
                Bin mir nicht sicher, aber ich weiss glaube ich wo der Fehler liegt. Folgendes: Wenn ich lokal eine PHP-Datei aufrufe die im Ordner xyz liegt ohne die Endung .php wird diese trotzdem angezeigt. Ich denke daran liegt das Problem. Stellt sich nur die Frage, wie änder/schalte ich diese Funktion aus?
                2. trifft zu

                Aufruf (bei meinem Code):

                www.deineseite.de/board/2

                ohne abschliessenden /
                wenn du den auch haben willst musste die rules anpassen.
                mfg
                marc75

                <Platz für anderes>

                Kommentar


                • #9
                  Original geschrieben von marc75
                  2. trifft zu

                  Aufruf (bei meinem Code):

                  www.deineseite.de/board/2

                  ohne abschliessenden /
                  wenn du den auch haben willst musste die rules anpassen.
                  Mal ganz ehrlich so ein Newbie bin ich auch nicht. Du solltest dir das Edit durchlesen. Ich bin bereits auf der Suche habe aber noch nichts dazu gefunden.

                  Kommentar


                  • #10
                    php.ini

                    weiss jetzt aber nicht welche var dafür Zuständig ist
                    mfg
                    marc75

                    <Platz für anderes>

                    Kommentar


                    • #11
                      Original geschrieben von fear`
                      Also umgeleitet, das sich die Adressezeile ändert, wird gar nicht. Was heisst das nun?
                      wenn du das flag [R] benutzt, also einen redirect auslöst, müsste aber was passieren "in der adresszeile".

                      wenn das nicht der fall ist, dann trifft deine regel also nicht zu.

                      informiere dich doch mal über die möglichkeiten, beim rewriten mitzuloggen, was er da macht - und sag uns dann, was im rewritelog für einträge stehen.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Ich bin nun einen Schritt weiter und werde mir mal die Config anschauen. Für dieses Verhalten der Dokumente ist ein Modul zuständig mit dem Namen negotiation_module. Mal schauen was ich erreichen kann, bzw. nicht erreichen kann.

                        Kommentar


                        • #13
                          Soo. Ich habs geschafft. Das Problem war das ein anderer Mod im Apache dem mod_rewrite zuvor kam und das Rewrite nicht mehr richtig ausgeführt wurde.

                          Trotzdem Danke für euere Bemühungen.

                          Kommentar


                          • #14
                            ach ja, das hätte mir gleich auffallen sollen, dass du board/ im aufruf verwenden willst, und die datei board.php heisst - das problem hatte ich so ähnlich auch bereits, dann sollte man idR. MultiViews deaktivieren ...
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar

                            Lädt...
                            X