![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Muszę wysłać formularz metodą GET i zrobić to tak, aby link automatycznie przeobraził się w ten 'przyjazny', jednak trochę mi to nie wychodzi. Link po kliknięciu submita wygląda tak: Cytat file.php?search_category=3&search_province=0&search_city=Miasto&search_phrase=Fraza&submit=Szukaj A linijka w .htaccess tak: Cytat RewriteRule ^cat-([0-9]+),woj-([0-9]+),([a-zA-Z0-9]+),([a-zA-Z0-9]+),([a-zA-Z0-9]+)/?$ file.php?search_category=$1&search_province=$2&search_city=$3&search_phrase=$4&submit=$5 [L] Może mnie ktoś nakierować na błąd w powyższych zapisach? Dzięki! ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Obawiam się, że to nie jest możliwe w taki sposób. Mod rewrite nie działa w taki sposób, że z brzydkiego URL-a robi ładny. On robi rzecz odwrotną, tj. ładny URL interpretuje tak samo, jakby był brzydkim. Masz do wyboru dwie możliwości:
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Cytat Zrobić skrypt PHP, który przekierowałby odpowiednio do ładnego URL-a Myślałem o tym, aby przesłać dane w $_POST np. do searching.php, tam je sprawdzić i header("location: ladny/url"); tylko zastanawiam się właśnie czy to jest dobre podejście do problemu. EDIT: Kolejnym problemem jest fakt, że jeśli w url wygląda tak: cat-3,woj-4,Kraków to htaccess sobie nie radzi i wypluwa 404. Jest jakiś sposób na polskie ogonki w htaccess? ;> Ten post edytował Michael2318 22.11.2013, 08:19:19 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście - dzieje się tak dlatego, że wzorzec [a-zA-Z0-9] wyłapuje jedynie litery alfabetu łacińskiego oraz liczby. Zastąp go wzorcem [^,], czyli wszystkim, co nie jest przecinkiem.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat tylko zastanawiam się właśnie czy to jest dobre podejście do problemu. To zależy czy wyszukiwarka ma być indeksowana i działać na zewnątrz ![]() Zapoznaj się z http://us2.php.net/manual/en/reference.pcr...n.modifiers.php Cytat '/^\p{L}+$/ui' ps. "Method" z pewnością ma odpowiednik w Naszym języku ![]() Cytat Zastąp go wzorcem [^,], czyli wszystkim, co nie jest przecinkiem. ![]() Ten post edytował !*! 22.11.2013, 09:42:26 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Zapoznaj się z http://us2.php.net/manual/en/reference.pcr...n.modifiers.php Jaki to ma związek z tematem? EDIT Rzeczywiście jest coś takiego jak \p{L} - nigdy wcześniej o tym nie słyszałem. Zatem jest to lepsze rozwiązanie niż wszystko inne niż przecinek. Ten post edytował SmokAnalog 22.11.2013, 09:39:13 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.06.2025 - 23:50 |