Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> rewrite rule + ?
nospor
post
Post #1





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A więc mam linki w postaci:
Kod
http://localhost/modul/akcja/

i chce je zamienic na
Kod
http://localhost/?m=modul&a=akcja


W tym celu walę regulke
Kod
RewriteRule ^([^/]+)/([^/]+)/?$ ?m=$1&a=$2 [L]

To oczywiscie dziala.

Ale teraz moge miec link:
Kod
http://localhost/modul/akcja/?par1=1&par2=2

i chcialbym to zamienic na:
Kod
http://localhost/?m=modul&a=akcja&par1=1&par2=2

regulka:
Kod
RewriteRule ^([^/]+)/([^/]+)/\?(.*)$ ?m=$1&a=$2&$3 [L]

juz nie dziala.

Na podstawie prob i bledow doszedlem do tego, ze jakby do rewrite rule nie bylo brane wszystko co jest po znaku "?" wlacznie z nim samym.

Czy da sie jakos ten "?" lyknac w regulce?
Go to the top of the page
+Quote Post
seaquest
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 790
Pomógł: 7
Dołączył: 6.02.2003
Skąd: Polska

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


A flaga QSA nie pomaga?
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
sf
post
Post #4





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


[QSA] dodawałeś do tego: RewriteRule ^([^/]+)/([^/]+)/?$ ?m=$1&a=$2 [L] ?
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
[QSA] dodawałeś do tego: RewriteRule ^([^/]+)/([^/]+)/?$ ?m=$1&a=$2 [L] ?

Hehe, niby pytanie a jednak z odpowiedzią (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Dzięki, już wszystko furga aż miło

edit: to skoro tak dobrze poszło, to jeszcze jedno pytanko:
da się zrobić rekurencje? Bo mam coś takiego:
Kod
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ ?m=$1&a=$2&$3=$4 [L]

Zamienia mi to linki http://localhost/module/action/par1/war1/
na : http://localhost/?m=module&a=action&par1=war1

oraz:
Kod
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ ?m=$1&a=$2&$3=$4&$5=$6 [L]

Zamienia mi to linki http://localhost/module/action/par1/war1/par2/war2/
na : http://localhost/?m=module&a=action&am...1&par2=war2

No a daloby sie jakoś to rekurencja przejechac by mozna bylo tworzyc do bólu
http://localhost/module/action/par1/war1/par2/war2/parn/warn
?
Go to the top of the page
+Quote Post
seaquest
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 790
Pomógł: 7
Dołączył: 6.02.2003
Skąd: Polska

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


Przekieruj sobie wszystko razem i rozbij już w PHP.
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie poto zadawalem pierwsze pytanie by teraz robijac w php (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

A poważnie: tez o tym myslalem, ale chcialem sie dowiedziec czy jest taka mozliwosc w rewrite rule. Wiec jest?
Go to the top of the page
+Quote Post
sf
post
Post #8





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


jest na 100%, do 9 parametrów można to zrobić, ale niestety nie mam tego kodu bo został w dawnej firmie
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: 14.09.2025 - 21:44