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:
hab nun versucht folgende rewrite-regel anzuwenden:
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:
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?
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 />";
?>
RewriteEngine On
RewriteRule ^/$ /foobar.html [L]
RewriteRule ^/$ /foobar.html [L]
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]
# 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]
kann mir bitte jemand bei meinen ersten gehversuchen behilflich sein?
Kommentar