Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne]Mod rewrite (htaccess) raz jeszcze
Forum PHP.pl > Forum > Przedszkole
taro
Witam.

Mam taki problem.

Tworzę sobie przyjazne linki w postaci, w której np napis

ĄBĆ DUPA zamieni na 'abc-dupa'

Chciałbym mieć linki w postaci

artykul-abc-dupa.html

i tutaj wszystko działa, jednak jeżeli chcę zrobić powiedzmy paginację artykułu i utworzyć coś w stylu

artykul-abc-dupa-strona-1.html to źle wyłapuje parametry. Domyślam się, że błąd leży po stronie tego, iż jeden parametr (nazwa artykułu) zawiera znaczek '-', i po nazwie artykułu występuje też ten człon.

tworząc linki z większa ilością parametrów coś się po prostu psuje. Zapewne trzeba to oznaczyć jakoś, aby sprawdzało dokładnie taki człon i traktowało go jako następny parametr, ale jakoś wczoraj długo z tym walczyłem i coś źle robię.


Mógłby ktoś pomóc?

Dziękuję,
pozdrawiam.
Heptan
Możesz zrobić tak:

Link: /strona-1-tytul-artykulu.html

Reguła .htaccess: ^/strona-([0-9]+)-([a-zA-Z0-9]+).html$ /index.php?strona=$1&tytul=$2

Albo lepiej bez wyrazu "strona".
taro
Już tak zrobiłem w jednym momencie, tylko że tu akurat ze strona to będzie działało, ale będę przekazywał dwa (lub wiecej) parametry/parametrów w których jeden i drugi człon będzie w formie


pierwszy-czlon

drugi-czlon

Nie da się zrobić jakoś w stylu

artykul-kategoria-pierwsza-kategoria-tytul-tytul-artykulu-strona-23.html

aby lapalo wszystko miedzy -kategoria- -tytul- jako pierwszy itd?

I przy tym te rozwiazanie tez nie da rady...
Heptan
Oczywiście, że się da.

Link: /artykul-kategoria-pierwsza-kategoria-tytul-tytul-artykulu-strona-23.html

Reguła .htaccess:
RewriteRule ^/artykul-kategoria-([-a-zA-Z0-9]+)-tytul-([-a-zA-Z0-9]+)-strona-([0-9]+).html$ /index.php?kategoria=$1&tytul=$2&strona=$3
taro
Dokładnie, tylko tak jak widać każdy parametr może zawierać znak '-', jak również '-' jest separatorem w parametrach, stąd moje dopiski w linku w stylu

strona-1, aby łatwiej było określić, że ma pobierać stronę, a nie na przykład nazwę artykułu, bo bez tego strona-1 to uważam, że byłoby w ogóle nie możliwe wykonanie tego, bo skąd by coś miało wiedzieć, czy artykuł zawiera dwa znaki '-' czy dziesięć takich znaków.

Problem leży też w tym, że czasami będzie to jeden parametr, czasami dwa, czasami trzy, czasami cztery w kombinacjach dowolnych. smile.gif

Dodam jeszcze, że struktura będzie tego typu:

kategoria->podkategoria1->podkategoria2->data->strona

Gdyie kazdy parametr może występować ale nie musi, więc będzie to czysto dowolna kombinacja...
vokiel
A jakie parametry potrzebujesz? I czy jest ich skończona ilość?

Może rożróżnij seperator od możliwych znaków w parametrach. Jeśli separatorem ma być znak '-' to w parametrach zamieniaj go np na '_'
Heptan
Cytat
Problem leży też w tym, że czasami będzie to jeden parametr, czasami dwa, czasami trzy, czasami cztery w kombinacjach dowolnych.


To całkiem zmienia postać rzeczy. Chcesz powiedzieć, że czasem nie będzie tytułu, czasem kategorii, a czasem strony?
taro
Tak.

Jest skończona liczba parametrów w liczbie 5, tylko tak jak piasałem, mogą występować w różnej kombinacji. Jeżeli to będzie pochłaniało dużo pracy a domyślam się juz, że tak będzie to chyba zmienię mój pomysł.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.