• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

URL mit .htacess umschreiben

landpat

Neues Mitglied
Hallo,

ist es möglich, eine sehr unschöne URL (www.xy.de/index.php?page=2), in eine schönere umzuwandeln (www.xy.de/kontakt.html)?

Die Regeln hierfür kann ich durchaus auch einzeln definieren. Ich möchte das 'index.php?page=2' durch ein von mir festgelegtes Wort ersetzt wird.

Ist das mittels .htacess möglich?

Ich habe nun wirklich schon sehr lange herumprobiert und komme leider zu keinem Ergebnis.

Unter anderem:
Code:
RewriteRule ^/?kontakt.html$ /index.php?page=2 [R=301,L]

Die RewriteEngine ist natürlich an.

Die Seite an der ich arbeite, erlaubt es leider nicht die URLs zu ändern, also muss ich das so machen.
Habt ihr Ideen wie ich das sonst noch lösen könnte?

Vielen Dank!
 
Werbung:
Genau dafür gibt es im Netz doch nun genug Beispiele? Und du bist doch auch nahe dran.

Code:
RewriteRule ^kontakt.html$ /index.php?page=2 [R=301,L]
 
Leider funktioniert das mit deiner Rule auch nicht. Es scheint so, als ob die Regel einfach nicht greift.

Ich habe eben schon im Netz nach Lösungen gesucht und die unterschiedlichsten ausprobiert. Ist es denn grundsätzlich möglich, ganz allgemein zu definieren:

Die Url "xy.de/index?page=1" soll ab nun "xy.de/test.html" heißen?
 
Zuletzt bearbeitet:
Werbung:
Und bei Punkt 1 bist Du dir sicher? Bau mal einen Schreibfehler in RewriteRRRRRRRule ein, wenn dann ein Error 500 kommt ist es auf jeden Fall aktiv.
 
Werbung:
Also wenn ich das einbaue, kommt kein Fehler. Aber ich kann das doch garnicht testen, weil wenn RewriteRule falsch geschrieben ist greift es doch nicht. Oder würde ein falscher Befehl in der .htaccess grundsätzlich einen Fehler auswerfen.

Wie kann ich sonst noch testen, ob die Enginge wirklich an ist?

Ich habe es eben getestet die ModRewrite funktioniert. Ich habe das mit einem Testordner ausprobiert.

Das Problem ist, das ich die URL die ich verändern will nicht ansprechen kann. Wenn ich nur die URL index.php manipulieren will funktioniert das, wohl weil das auch eine existierende Datei ist. Sobald ich index.php?page=2 ansprechen will funktioniert das nicht.

Habe eine etwas andere Lösung gefunden. Ich leite alle dynamischen Seiten auf eine statische um. Diese Lösung leitet jetzt alle Aufrufe von www.meineseite.de/index.php?page=2 auf http://www.meineseite.de/kontakt.php


ewriteCond %{QUERY_STRING} ^page=2$
RewriteRule ^index.php$ http://www.meineseite.de/kontakt.php? [R=301,L]
 
Zuletzt bearbeitet von einem Moderator:
Verstehe ich das falsch, oder wird eine separate Datei aufgerufen(also nicht in der index.php eingebunden). Wenn ja, warum das Ganze
 
Zurück
Oben