Thomasmacfly Geschrieben 20. Mai 2008 Geschrieben 20. Mai 2008 Hallo zusammen, ich habe folgendes Problem: Ich rufe Seiten über index.php?url_alias=xy auf, angezeigt werden soll xy.html. Das funktioniert mit folgendem Code gut: Code: RewriteEngine On RewriteRule index.html$ /index.php [PT] RewriteRule ^([0-9]+)-meine-freunde.html$ /index.php?url_alias=meine-freunde&buddy2_fK=$1 RewriteRule ^([0-9]+)-freunde-finden.html$ /index.php?url_alias=freunde-finden&buddy2_fK=$1 RewriteRule ^([0-9]+)-einladung.html$ /index.php?url_alias=einladung&budRelID=$1 RewriteRule ^([0-9]+)-write.html$ /index.php?url_alias=write&to_fK=$1 RewriteRule ^([0-9]+)-([0-9]+)-thema.html$ /index.php?url_alias=thema&pag_page=$1&threadID=$2 RewriteRule ^([0-9]+)-profil.html$ /index.php?url_alias=profil&profileID=$1 RewriteRule ^([0-9]+)-forum.html$ /index.php?url_alias=$1-forum&forumID=$1 RewriteRule ^reply-([0-9]+)-pms.html$ /index.php?url_alias=pms&reply=1&msgID=$1 RewriteRule ^([0-9]+)-pms.html$ /index.php?url_alias=pms&msgID=$1 RewriteRule ^([0-9]+)-grusskarten.html$ /index.php?url_alias=grusskarten&greetcardID=$1 RewriteRule ^([-0-9a-zA-Z]+)-registrierung.html$ /index.php?url_alias=registrierung&activate_code=$1 RewriteRule ^([-0-9a-z]+).html$ /index.php?url_alias=$1 ErrorDocument 404 /errordoc/error404.html Nun will ich eine Suchfunktion über GET implementieren (PHP), also z.B. suche.html?searchfield=xy&search-btn=Finden für index.php?url_alias=suche&searchfield=xy&search-btn=Finden Probiert habe ich: Code: RewriteRule ^suche.html?searchfield=([^&]*)&search-btn=Finden$ /index.php?url_alias=suche&searchfield=$1&search-btn=Finden RewriteRule ^suche.html?searchfield=([^&]*)$ /index.php?url_alias=suche&searchfield=$1 (Zeile 3, falls per Return und nicht per Button bestätigt wird.) Das funktioniert leider nicht, bei $_GET kommt nur der url_alias an. Weiss jemand Rat? Vielen Dank schon mal, Thomas
geloescht_JesterDay Geschrieben 20. Mai 2008 Geschrieben 20. Mai 2008 (bearbeitet) Code: RewriteRule ^suche.html?searchfield=([^&]*)&search-btn=Finden$ /index.php?url_alias=suche&searchfield=$1&search-btn=Finden RewriteRule ^suche.html?searchfield=([^&]*)$ /index.php?url_alias=suche&searchfield=$1 Also eigentlich sollte das ja schon gehen, denn du tust ja nichts besonderes und index.php wird ja mit dem alias suche wohl aufgerufen. Du kannst dir auch mal $_SERVER["QUERY_STRING"] anzeigen lassen. Aber das sollte das sein was in $_GET steht, nur als String eben. Ach, verkürzen könntest du deine RewriteRule mit QSA (Query String Append), sollte gehen denk ich: RewriteRule ^suche.html?searchfield=([^&]*)$ /index.php?url_alias=suche [QSA] Damit hängt er den bisherigen QueryString an die URL an, also alle deine Parameter werden einfach übernommen. Damit könntest du auch dir Rule selbst verkürzen, da du ja kein $1 etc mehr brauchst. Nachtrag ich denke es liegt an deiner RegEx: ^suche.html?searchfield=([^&]*)$ nicht &, beliebig oft... aber sonst nix. Du schließt nur das & aus aber sonst ist nichts gültig. ^suche.html?searchfield=(.*)&?$ sollte denke ich gehen (alles bis zum &, was optional ist), oder einfach QSA Bearbeitet 20. Mai 2008 von JesterDay
Thomasmacfly Geschrieben 20. Mai 2008 Autor Geschrieben 20. Mai 2008 Hallo Jesterday, ich habe es jetzt anders gelöst: RewriteEngine On RewriteRule index.html$ /index.php [PT] RewriteRule ^([0-9]+)-meine-freunde.html$ /index.php?url_alias=meine-freunde&buddy2_fK=$1 RewriteRule ^([0-9]+)-freunde-finden.html$ /index.php?url_alias=freunde-finden&buddy2_fK=$1 RewriteRule ^([0-9]+)-einladung.html$ /index.php?url_alias=einladung&budRelID=$1 RewriteRule ^([0-9]+)-write.html$ /index.php?url_alias=write&to_fK=$1 RewriteRule ^([0-9]+)-([0-9]+)-thema.html$ /index.php?url_alias=thema&pag_page=$1&threadID=$2 RewriteRule ^([0-9]+)-profil.html$ /index.php?url_alias=profil&profileID=$1 RewriteRule ^([0-9]+)-forum.html$ /index.php?url_alias=$1-forum&forumID=$1 RewriteRule ^reply-([0-9]+)-pms.html$ /index.php?url_alias=pms&reply=1&msgID=$1 RewriteRule ^([0-9]+)-pms.html$ /index.php?url_alias=pms&msgID=$1 RewriteRule ^([0-9]+)-gesendete-nachrichten.html$ /index.php?url_alias=gesendete-nachrichten&msgID=$1 RewriteRule ^([0-9]+)-gesendete-grusskarten.html$ /index.php?url_alias=gesendete-grusskarten&greetcardID=$1 RewriteRule ^([0-9]+)-grusskarten.html$ /index.php?url_alias=grusskarten&greetcardID=$1 RewriteRule ^([-0-9a-zA-Z]+)-registrierung.html$ /index.php?url_alias=registrierung&activate_code=$1 RewriteCond %{QUERY_STRING} searchfield=([^&]*)&search-btn=Finden$ RewriteRule ^suche\.html$ /index.php?url_alias=suche&searchfield=%1&search-btn=Finden RewriteCond %{QUERY_STRING} searchfield=([^&]*)$ RewriteRule ^suche\.html$ /index.php?url_alias=suche&searchfield=%1 RewriteRule ^([-0-9a-z]+).html$ /index.php?url_alias=$1 ErrorDocument 404 /errordoc/error404.html
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden