Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mod_rewrite] Formularz GET i przekierowanie
Walian
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 1
Dołączył: 13.07.2009

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


Mam na stronie paginator składający się z linków oraz mini formularza typu:
Kod
Strona: [pole] [przycisk]

Dzięki czemu użytkownik może przeskoczyć do dowolnej strony.
Gdy wciśnie przycisk jest kierowany do:
Kod
article.php?name=nazwa_artykulu&page=5

Chciałbym aby w pasku adresu był link:
Kod
artykuly/nazwa_artykulu/strona-5/


Mam do tej pory zrobione przekierowanie z linków <a></a>:
Kod
artykuly/nazwa_artykulu/strona-5/

do skryptu:
Kod
article.php?name=nazwa_artykulu&page=5

gdzie w pasku adresu wciąż widnieje:
Kod
artykuly/nazwa_artykulu/strona-5/

które działa doskonale, niestety nie wiem jak zrobić by "przyjazne linki" działały również dla formularzy.

Kombinowałem z {QUERY_STRING} ale nawet nie wiem czy mam właśnie tego użyć, poza tym nie udało mi się uzyskać pożądanego efektu.

Zapomniałem napisać, że rozwiązałem to za pomocą kodu w JS, ale czy naprawdę nie ma żadnego sposobu by zrobić to bez JS? Może jakiś inny moduł do Apache?



I osobna sprawa, czy jest możliwość stworzenia odpowiedniego zestawu reguł by mod_rewrite kierował z adresów:
Kod
plik/wartosc_zmiennej1/wartosc_zmiennej2/wartosc_zmiennej3/wartosc_zmiennej4/wartosc_zmiennej5/
plik/wartosc_zmiennej1/wartosc_zmiennej2/wartosc_zmiennej3/wartosc_zmiennej4//
plik/wartosc_zmiennej1/wartosc_zmiennej2/wartosc_zmiennej3//wartosc_zmiennej5/
plik/wartosc_zmiennej1/wartosc_zmiennej2//wartosc_zmiennej4/wartosc_zmiennej5/
plik/wartosc_zmiennej1//wartosc_zmiennej3/wartosc_zmiennej4/wartosc_zmiennej5/
plik//wartosc_zmiennej2/wartosc_zmiennej3/wartosc_zmiennej4/wartosc_zmiennej5/
plik/wartosc_zmiennej1/wartosc_zmiennej2/wartosc_zmiennej3///

odpowiednio do:
Kod
plik.php?zmienna1=wartosc_zmiennej1&zmienna2=wartosc_zmiennej2&zmienna3=wartosc_zmiennej3&zmienna4=wartosc_zmiennej4&zmienna5=wartosc_zmiennej5
plik.php?zmienna1=wartosc_zmiennej1&zmienna2=wartosc_zmiennej2&zmienna3=wartosc_zmiennej3&zmienna4=wartosc_zmiennej4
plik.php?zmienna1=wartosc_zmiennej1&zmienna2=wartosc_zmiennej2&zmienna3=wartosc_zmiennej3&zmienna5=wartosc_zmiennej5
plik.php?zmienna1=wartosc_zmiennej1&zmienna2=wartosc_zmiennej2&zmienna4=wartosc_zmiennej4&zmienna5=wartosc_zmiennej5
plik.php?zmienna1=wartosc_zmiennej1&zmienna3=wartosc_zmiennej3&zmienna4=wartosc_zmiennej4&zmienna5=wartosc_zmiennej5
plik.php?zmienna2=wartosc_zmiennej2&zmienna3=wartosc_zmiennej3&zmienna4=wartosc_zmiennej4&zmienna5=wartosc_zmiennej5
plik.php?zmienna1=wartosc_zmiennej1&zmienna2=wartosc_zmiennej2&zmienna3=wartosc_zmiennej3

?
Jeśli tak to jak to zrobić?

Ten post edytował Walian 25.02.2010, 01:15:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Walian
post
Post #2





Grupa: Zarejestrowani
Postów: 124
Pomógł: 1
Dołączył: 13.07.2009

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


Cytat("erix")
Ale najlepiej byłoby to po prostu przeprojektować...

Na przykład jak?

Cytat("erix")
Cytat("Walian")
I osobna sprawa, czy jest możliwość stworzenia odpowiedniego zestawu reguł by mod_rewrite kierował z adresów:
Kod

Nie rozumiem?

Chodzi o to, że w wyszukiwarce nie zawsze użytkownik wypełni wszystkie pola - wtedy poprzez GET zostaną przesłane puste zmienne. Tak więc jeśli użyję JS i użytkownik wypełni tylko jedno pole (w tym przykładzie - drugie), to powstanie link:
Kod
plik//wartosc_zmiennej2////

I jak teraz napisać regułę, która przekieruje do:
Kod
plik.php?zmienna2=wartosc_zmiennej2

lub ew. do:
Kod
plik.php?zmienna1=&zmienna2=wartosc_zmiennej2&zmienna3=&zmienna4=&zmienna5=
Go to the top of the page
+Quote Post

Posty w temacie


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: 9.06.2026 - 13:10