Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: RewriteRule
Forum PHP.pl > Forum > PHP
NoiseMc
Witam.
Grzebię już po wszystkich możliwych forach, kombinuję od paru godzin i nie mogę tego zakumać. Dodam, że moja przygoda z mod_rewrite dopiero się zaczyna, a z wyrażeniami regularnymi miałem od zawsze problem.

Proszę o pomoc z RewriteRule.

Link będzie miał postać:
Kod
http://server/katalog/jezyk/Module/Action/IDKategorii/ID

(Muszę wziąć również pod uwagę, że ktoś wstawi tam jeszcze ukośnik na końcu.)

Chcę to zamieniać na:
Kod
http://server/katalog/index.php?lang=jezyk&module=Module&action=Action&IDKategorii=IDKategorii&ID=ID


Próbowałem:
Kod
RewriteRule (.+)\/(.+)\/(.+)\/(.+)\/(.+)\/? index.php?lang=$1&module=$2&action=$3&IDKategorii=$4&ID=$5


Z tym, że nie zawsze w linku przekazywane są wszystkie parametry (czasem nie ma ID czy IDKategorii) i za każdym razem gdy nie podałem wszystkich pięciu parametrów dostawałem np:
Przy linku:
Kod
http://server/katalog/jezyk/Firma/

Cytat
The requested URL /katalog/pl/Firma/ was not found on this server


Znalazłem rozwiązanie co można zrobić z niewyświetlającymi się obrazkami i css-ami:
  1. <base href="http://server/katalog/">

W tym wypadku wszystko wyświetla się poprawnie, pytanie jest czy istnieje jakieś inne, lepsze rozwiązanie (pliki trzymam w katalogach /css oraz /images).
DaNTe
Moja rada - wrzuć wszystko do jednej zmiennej, potem explode po '/' i przypisuj w skryptach.
NoiseMc
Wolałbym to raczej tylko za pomocą .htaccess rozwiązać.
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.