Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Suchfunktion per GET

Empfohlene Antworten

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

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 von JesterDay

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.