mod_rewrite - anfängerproblem

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

  • mod_rewrite - anfängerproblem

    hi!

    bin gerade dabei mir ein MVC-framework zu schreiben und hab mir dazu mod_rewrite angesehen. leider scheitert es schon an den grundlagen.

    ich hab ein script index.php im ordner mod_rewrite/ das über http://localhost/mod_rewrite/index.php aufgerufen werden kann. das script macht nichts anderes als folgendes:
    PHP-Code:
    <?php
    echo "module: " $_GET['module'] . "<br />";
    echo 
    "class: " $_GET['class'] . "<br />";
    echo 
    "event: " $_GET['event'] . "<br />";
    ?>
    hab nun versucht folgende rewrite-regel anzuwenden:
    RewriteEngine On
    RewriteRule ^/$ /foobar.html [L]
    hierbei sollte doch nach eingabe von http://localhost/mod_rewrite/ die html-datei http://localhost/mod_rewrite/foobar.html aufgerufen werden und nicht die index.php im selben ordner, oder? foobar.html existiert und sollte "hallo welt" ausgeben (wenn ich sie direkt aufrufe macht es das auch).

    schon klar, dass man sowas auch anders lösen könnte, mir gehts aber mehr ums verständnis. im endeffekt soll das hier mal funktionieren:
    RewriteEngine On

    # Change the URI here to whatever you want your homepage to be
    RewriteRule ^/$ /index.php?module=welcome [L,QSA]

    # Changes /index.php?module=welcome to /welcome
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
    RewriteRule ^/([^/]*)$ /index.php?module=$1 [L,QSA]

    # Changes /index.php?module=users&class=login to /users/login
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
    RewriteRule ^/([^/]*)/([^/]*)$ /index.php?module=$1&class=$2 [L,QSA]

    # Changes /index.php?module=users&class=login&event=foo
    # to /users/login/foo.html
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
    RewriteRule ^/([^/]*)/([^/]*)/([^/]*).html$ \
    /index.php?module=$1&class=$2&event=$3 [L,QSA]
    aber bis ich das verstanden habe ist wohl noch ein weiter weg... (es funktioniert nämlich nicht und ich weiß nicht warum)

    kann mir bitte jemand bei meinen ersten gehversuchen behilflich sein?

  • #2
    in welchem verzeichnis liegt deine .htaccess ?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      im mod_rewrite-verzeichnis. also im verzeichnis in dem die index.php und foobar.html liegen.

      Kommentar


      • #4
        Re: mod_rewrite - anfängerproblem

        Original geschrieben von php_rookie
        bin gerade dabei mir ein MVC-framework zu schreiben und hab mir dazu mod_rewrite angesehen. leider scheitert es schon an den grundlagen.
        Denkbar schlecht, aber man erlebt das hier derart oft, dass man schon gar nichts anderes mehr erwartet. *seufz*

        hierbei sollte doch nach eingabe von http://localhost/mod_rewrite/ die html-datei http://localhost/mod_rewrite/foobar.html aufgerufen werden und nicht die index.php im selben ordner, oder?
        Nö. http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

        im endeffekt soll das hier mal funktionieren
        Woher hast du das denn?

        Kommentar


        • #5
          Denkbar schlecht
          hast du eine alternative lösung parat?
          Woher hast du das denn?
          von hier: http://www.onlamp.com/pub/a/php/2005...er.html?page=2

          Kommentar


          • #6
            Original geschrieben von php_rookie
            hast du eine alternative lösung parat?
            Jap!

            Wegen .htaccess "im mod_rewrite-verzeichnis", brauchst du entweder die passende RewriteBase (Vorzugslösung) oder

            RewriteRule ^/mod_rewrite/$ /mod_rewrite/foobar.html [L]


            Aber eigentlich meinte ich mit "denkbar schlecht" die Kombination aus fehlenden Grundlagen und der Programmierung von großem Zauber.

            Kommentar


            • #7
              nur weil ich keinen schimmer von mod_rewrite hab muss ich nicht zwangsweise auch keinen tau von php-programmierung haben, oder? abgesehen davon: danke für deine antwort, es funktioniert damit aber immer noch nicht :-(

              Kommentar

              Lädt...
              X