Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przekazywanie zmiennych w url-u
tomaszh
post 16.04.2005, 14:29:03
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Szczecin

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


Zrobiłem przekierowanie za pomocą mod_rewrite.
W .htaccess mam:

Options FollowSymLinks
RewriteEngine On
RewriteRule ^main,([^-]+),([^-]+)?\.html index.php?a=$1&b=$2

Gdy wpisuje:
http://main,1,3.html przekierowuje mi na index wraz ze zmiennymi a i b i wszystko jest ok.

Problem jest gdybym chciał dodać urla dodatkową zmienną np. c, czyli http://main,1,3.html?c=ok. Niestety jej nie przekazuje do index.php.
Gdzie robie błąd?


--------------------
giełda szczecin
Go to the top of the page
+Quote Post
rolnix
post 16.04.2005, 15:10:07
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 16.04.2005
Skąd: Białowieża

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


Nie mogłoby być

Kod
RewriteRule ^main,([^-]+),([^-]+)?\.html?c=([^-]+) index.php?a=$1&b=$2&c=$3


Uhm?


--------------------
Go to the top of the page
+Quote Post
tomaszh
post 16.04.2005, 15:32:34
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Szczecin

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


Niestety, taki zapis:

Kod
RewriteRule ^main,([^-]+),([^-]+)?\.html?c=([^-]+) index.php?a=$1&b=$2&c=$3


nic nie dał. Wywala mi błąd 404.

Poza tym jakbym chciał przekazać zmienne z formularza poprzez GET to musiałbym tworzyć regułę z kilkunastoma zmiennymi.

Chodziło by mi bardziej żeby działało to poprzez dopisanie do url-a, głównie ze względu na zmienne z formularza.


--------------------
giełda szczecin
Go to the top of the page
+Quote Post
rolnix
post 16.04.2005, 15:35:09
Post #4





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 16.04.2005
Skąd: Białowieża

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


H.m, rozumiem... być może jest jakiś opcja albo hack do mod_rewrite'a, który pociągnąłby za sobą wszystkie zmienne z get'a. Poszukaj =)


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post 16.04.2005, 16:16:52
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Nie jestem biegly w Rewrite_mod'dzie ani w regexpach, ale wydaje mi sie zeby to zrobic tak:
wpisujesz adres
main,x,y.html?c=blabla
i masz rule:
RewriteRule ^main,([^-]+),([^-]+)?\.html index.php?a=$1&b=$2
(i to dziala)
teraz trzeba by wyszukac wszsytkiego po ".html" (jak? nie wiem) i dopisac to do "index.php?a=$1&b=$2" --> "index.php?a=$1&b=$2&$3"
przeniesie ci to wszystkie zmienne GET.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
tomaszh
post 16.04.2005, 17:26:10
Post #6





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Szczecin

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


Hmmm, jeśli nieczego nie wymyśle to trzeba będzie tak zrobić.

Gdy stosuje:
  1. <?php
  2. echo $_SERVER[&#092;"REQUEST_URI\"]\";
  3. ?>


pokazuje adres z przeglądarki http://main,1,3.html?c=aaa a nie rzeczywisty index.php?a=...&b=... więc można jakoś wyciągnąć zmienne.

Z GET jednak nie będzie problemu, ale jak przekazać zmienne POST?

Ciekaw jestem jak jest to rozwiązane na stronach z wykorzystaniem mod_rewrite. Być może w momencie przekazania zmiennych za pomocą GET lub POST nie używa się przekierowania.


--------------------
giełda szczecin
Go to the top of the page
+Quote Post
rolnix
post 16.04.2005, 20:29:58
Post #7





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 16.04.2005
Skąd: Białowieża

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


rewrite nie ma nic wspólnego z post, on tylko przekierowuje ładnie wyglądające linki...


--------------------
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: 26.06.2025 - 23:22