![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 6.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Problem wydaje się być powszechny ale o dziwno nic na ten temat znaleźć nie mogę więc może Wy pomożecie.
Mam wyszukiwarkę w PHP czyli standardowo: Tak więc po wciśnięciu przycisku Szukaj pokazuje mi się brzydki URL w stylu http://localhost/szukaj.php?q=__WPISANE_SLOWO__. A chciałbym żeby ten adres wyglądał tak: http://localhost/szukaj/__WPISANE_SLOWO__. W internecie jest mnóstwo przykładów przepisania odwrotnego czyli mapowania "ładnego URL" na plik.php z QUERY STRING-iem. Wymyśliłem, że to powinno wyglądać jakoś tak: Kod RewriteRule ^szukaj.php\?q=(.*) /szukaj/ [L,R] Ale to nie działa. Przekierowanie nie występuje. Jak usuwam \?q=(.*) to jest OK ale przecież to musi zostać bo w szukaj.php wyłapuje $_GET['q']. Proszę o pomoc. Ten post edytował diniox 9.08.2008, 11:54:15 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Tutaj raczej jak w każdej normalnej wyszukiwarce IMHO lepiej użyć GET. W każdej normalnej wyszukiwarce w pasku adresu jest parametr określający wyszukiwany string. Jeśli chcesz mieć adres bez tego stringa, jak to opisałeś w pierwszym poście, to nie masz wyjścia, bo i tak masz na wstępie "nienormalną" (z przymrużeniem oka) wyszukiwarkę.Poza tym zdecyduj się czego chcesz, w pierwszym poście piszesz jedno, w drugim coś zupełnie innego. Odnośnie jednak pokazania poszukiwanego ciągu: 1) funkcja urlencode - spacje i polskie znaki fajnie zakodować, bo mogą zostać źle odczytane 2) RewriteRule ^szukaj/(.*?)$ szukaj.php?q=$1 [L,R] albo coś mniej więcej w tym stylu Ten post edytował Shili 9.08.2008, 11:52:34 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 23:13 |