Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Method Get & htaccess
Michael2318
post 21.11.2013, 23:26:57
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! smile.gif
Go to the top of the page
+Quote Post
SmokAnalog
post 21.11.2013, 23:51:37
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:
  • Zrobić to w JavaScripcie - wysyłanie formularza przekierowałoby do ładnego URL-a
  • Zrobić skrypt PHP, który przekierowałby odpowiednio do ładnego URL-a
Go to the top of the page
+Quote Post
Michael2318
post 22.11.2013, 07:41:39
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
Go to the top of the page
+Quote Post
SmokAnalog
post 22.11.2013, 09:23:29
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.
Go to the top of the page
+Quote Post
!*!
post 22.11.2013, 09:29:54
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 wink.gif

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 wink.gif

Cytat
Zastąp go wzorcem [^,], czyli wszystkim, co nie jest przecinkiem.

ohmy.gif

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).
Go to the top of the page
+Quote Post
SmokAnalog
post 22.11.2013, 09:33:43
Post #6





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat(!*! @ 22.11.2013, 09:29:54 ) *

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
Go to the top of the page
+Quote Post
Michael2318
post 22.11.2013, 15:31:25
Post #7





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

Ostrzeżenie: (0%)
-----


Cytat(SmokAnalog @ 22.11.2013, 09:33:43 ) *
\p{L}


Możecie mi podać jakąś stronę, gdzie są przykłady z zastosowaniem tego? Bo nie mogę sobie poradzić z zastosowaniem tego u siebie.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2025 - 23:50