Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [RewriteRule] Puste zmienne
sannin
post
Post #1





Grupa: Zarejestrowani
Postów: 308
Pomógł: 13
Dołączył: 31.10.2008

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


Witam,

piszę wyszukiwarkę i chciałbym dodać do niej mod rewrite. Moje linik teraz to
Cytat
index.php?go=szukaj&city=miasto&type=typ&date1=dataod&date2=datado

Teraz chciałbym uzyskać taki efekt, że jeśli wejdę na link
Cytat
szukaj,city,wroclaw.html

wywoła się
Cytat
index.php?go=szukaj&city=wroclaw&type=&date1=&date2=

Natomiast jeśli wejdę na
Cytat
szukaj,date1,1345678,date2,145677.html

to wywoła się
Cytat
index.php?go=szukaj&city=&type=&date1=1345678&date2=145677

i jeśli wejdę na
Cytat
szukaj,city,wroclaw,type,1,date1,1345678,date2,145677.html

to wywoła się
Cytat
index.php?go=szukaj&city=wroclaw&type=1&date1=1345678&date2=145677

i tak dalej wszystkie możliwe przypadki. Czy da się to zapisać w jednej regule?

Ten post edytował sannin 16.02.2009, 11:20:34
Go to the top of the page
+Quote Post
ddiceman
post
Post #2





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

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


Dopasowanie:
Kod
szukaj(,city,([a-z]+))?(,type=([0-9]+))?(,date1,([0-9]+))?(,date2,([0-9]+))?\.html

Wynik:
Kod
/index.php?go=szukaj&city=$2&type=$4&date1=$6&date2=$8


Ten post edytował ddiceman 16.02.2009, 14:29:18
Go to the top of the page
+Quote Post
sannin
post
Post #3





Grupa: Zarejestrowani
Postów: 308
Pomógł: 13
Dołączył: 31.10.2008

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


dzięki bardzo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) śmiga pięknie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Rozbudowałem to zapytanie i mam problem jak ustawić zmienną nr 10? Mam tak:
Kod
&date2=$10
serwer traktuje mi to jako zmienną nr 1 i jeszcze dopisuje 0
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




http://forum.modrewrite.com/viewtopic.php?p=13892#13892
Go to the top of the page
+Quote Post
sannin
post
Post #5





Grupa: Zarejestrowani
Postów: 308
Pomógł: 13
Dołączył: 31.10.2008

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


Zrobiłem coś takiego, ale nie bardzo to działa

Kod
RewriteCond %{REQUEST_URI} ,([^-]+),([^-]+)\.html$ [NC]
RewriteRule szukaj(,wojewodztwo,([0-9]+),([a-z\,]+))?(,kategoria,([0-9]+),([a-z\,]+))?(,typ,([0-9]+),([a-z\,]+))?(,data,od,([0-9]+))?(,data,do,([0-9]+))?\.html index.php?controller=Search&state=$2&category=$5&type=$8&date1=%1&date2=%2

data1 przyjmuje wartość data2.

Zrobiłem tak....

Kod
RewriteRule szukaj,wojewodztwo,([0-9]+),[a-z\,]+?,kategoria,([0-9]+),[a-z\,]+?,typ,([0-9]+),[a-z\,]+?,data,od,([0-9]+)?,data,do,([0-9]+)?\.html index.php?controller=Search&state=$1&category=$2&type=$3&datefrom=$4&dateto=$5
Teraz działa tylko jak zrobię taki link
Kod
szukaj,datefrom,1345678,dateto,145677.html
to już nie działa... musi być pełny link aby zadziałało.

Edit

Już sobię poradziłem, dzięki wszystkim (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował sannin 16.02.2009, 20:00:27
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: 18.09.2025 - 12:48