Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Method Get & htaccess
Michael2318
post
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! (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
SmokAnalog
post
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
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
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
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 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/wink.gif)

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

(IMG:style_emoticons/default/ohmy.gif)

Ten post edytował !*! 22.11.2013, 09:42:26
Go to the top of the page
+Quote Post
SmokAnalog
post
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
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 11:15