.htaccess - URL verändern?
markus_walther
- webserver
0 LX0 Darwin0 markus_walther0 Darwin
0 dedlfix
Hallo!
Ich habe eine Frage zu .htaccess:
Zurzeit ist es so:
Wenn ich auf Home klicke, komme ich auf folgende URL: www.meinedomain.de/index.php?p=home, wenn ich auf Informationen klicke auf folgende:
www.meinedomain.de/index.php?p=informationen
Ich möchte mit .htaccess die URL um schreiben, so dass dort www.meinedomain.de/home/ bzw. www.meinedomain.de/informationen/ steht. Wie kann ich das verwirklichen?
Danke für jede Hilfe.
Markus
Du benötigst einen internen Rewrite, der den Namen des ersten Verzeichnisses als p-Parameter an index.php übergibt.
Es kann allerdings sein, dass Du Unterverzeichnisse hast, die Du von dieser Regel ausschließen musst.
Gruß, LX
Wie kann ich das verwirklichen?
Danke erstmal für den Link.
Ich habe jetzt folgenden .htaccess-Code:
RewriteEngine on
RewriteRule index.php?p=registrieren$ index.php/registrieren
Es passiert aber leider gar nichts...
Warum?
markus
RewriteEngine on
RewriteRule index.php?p=registrieren$ index.php/registrierenEs passiert aber leider gar nichts...
Warum?
Rufst du auch "www.deineseite.de/index.php/registrieren" auf oder vielleicht "www.deineseite.de/index.php/registrieren"? Nur ersteres sollte funktionieren.
Du kannst auch noch ein eingeklammertes L ans Ende der Zeile schreiben:
RewriteRule index.php?p=registrieren$ index.php/registrieren [L]
Hi!
Wenn ich auf Home klicke, komme ich auf folgende URL: www.meinedomain.de/index.php?p=home, wenn ich auf Informationen klicke auf folgende:
www.meinedomain.de/index.php?p=informationen
Ich möchte mit .htaccess die URL um schreiben, so dass dort www.meinedomain.de/home/ bzw. www.meinedomain.de/informationen/ steht. Wie kann ich das verwirklichen?
URLs können nicht umgeschrieben werden. mod_rewrite leitet den reinkommenden Request anhand einer Regel auf eine bestimmte Datei beziehungsweise Ressource. Das passiert ohne dass der Browser etwas davon mitbekommt (außer, wenn man die Domain auch mit umschreibt, dann gibt es einen Redirect, dem der Browser folgt). Das was der Browser aufrufen soll, muss auch im Quelltext stehen. Du willst also www.example.com/home/ bzw. www.example.com/informationen/ aufrufen und der Webserver soll daraufhin /index.php?p=home bzw. /index.php?p=informationen ausführen. Und bitte verwende für Beispiele die extra dafür vorgesehenen Domainnamen und nicht irgendwelche Fantasie- oder real existierenden Namen.
Lo!