Hallo,
www.meineseite.de?seite=home <<<steht als URL da
www.meineseite.de/home <<<<soll dort stehen
Ohne sicher zu wissen, ob das die optimale Lösung ist, funktionieren tut es jedenfalls:
RewriteEngine on #ist denke ich klar
RewriteBase / #da gehört das Verzeichnis hin, für das die Regeln gelten sollen, in dem Fall root
RewriteCond %{SCRIPT_FILENAME} !-f #Wenn der request nicht auf eine existiente Datei zielt...
RewriteRule ^(.*)\..?htm.?$ /script.php?seite=$1 [L] #...wird aus /foo.?htm? -> /script.php?page=foo
#somit wird bar.html trotzdem aufgerufen, wenn es existiert!
#dann weiter:
RewriteCond %{SCRIPT_FILENAME} !-f #Request ist keine existierende Datei...
RewriteCond %{SCRIPT_FILENAME} !-d #...und kein existierendes Verzeichnis, dann:
RewriteRule ^(.*)$ /main.php?page=$1 [L] #wird aus /foo -> /script.php?seite=foo
Vielleicht geht es auch eleganter, daß würde ich dann selbst gerne wissen ;)
Aber es ist möglich mit /foo, foo.?htm? (also shtm, shtml, xhtm, xhtml u.s.w.], die entsprechende Seite aufzurufen.
Durch die RewriteConditions bleibt es aber trotzdem möglich in vorhanden Verzeichnisse zu wechseln, bzw. statische URL's aufzurufen.
Für Deinen Fall, wenn Du die Seiten nicht auch mit Endung erreichen willst, kann Du eigentlich die erste RewriteCond und RewriteRule löschen. Der untere Block würde dann reichen.
netten Tag
^da Powl