Brniesz w rozwiązania przestarzałe, skomplikowane i mało wydajne.
Dzisiaj używa się tylko jednej reguły, która przepisuje dowolny adres a następnie jest on obrabiany po stronie php za co odpowiada tak zwany router.
Przykład:
1. Mamy adres:
strona.pl/galeria/fotki;z;wakacji-2,456.html
2. Zostaje on przepisany na:
strona.pl?adres=galeria/fotki;z;wakacji-2,456.html
3. Teraz do akcji wkracza nasz router który obrabia zmienną $_GET['adres'] i otrzymujemy tablicę parametrów:
moduł = galeria
tytuł = fotki z wakacji
id = 456
page = 2
4. Tworzenie adresów odbywa się podobnie:
echo $this->url($parametry,$opcje);
Zalety:
- nie musisz się babrać w .htaccess
- tworzenie reguł w PHP jest prostsze, elastyczniejsze i szybsze
- w każdej chwili można zmienić koncepcję adresów dokonując zmian jedynie w pliku cfg routera (przekazywane i odbierane parametry zostają bez zmian)
Najlepiej utworzyć sobie jakiś router standardowy działający na zasadzie: domena/moduł/słowa;kluczowe-nr_strony,parametr1,parametr2.html
A potem rozbudować system o definiowanie własnych routerów. Można też skorzystać z gotowych rozwiązań, których nie brak.
Najprostsze systemy po prostu zastępują znaki & i = tworząc coś w stylu:
strona.pl/klucz1-wartosc1;klucz2-wartosc2;klucz3-wartosc3
Widziałem już serwisy gdzie było kilkaset wpisów w .htaccess i weź teraz coś tam zmień, popraw, debuguj...