![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 16.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
dzisiaj rozpocząłem nierówną walkę z mod_rewrite. Ogarnąłem podstawy wyrażeń regularnych i zasady tworzenia RewriteRule. Wstęp: tworzę stronę w php z adresami o takim wzorcu /index.php?lang=en&id=articleid Chcę do tego stworzyć proste adresy. Dopuszczam taką ich konstrukcję: www.strona.pl/en/article <- dla strony w innym języku niż domyślny (pl) www.strona.pl/article <- dla stron w języku polskim - domyślnym Napisałem dwie reguły CODE RewriteRule ^(en|fr|de){1}\/([a-zA-Z-]{3,10})(\.html)?$ index.php?lang=$1&id=$2 [L] RewriteRule ^([a-zA-Z-]{3,10})(\.html)?$ index.php?id=$1 [L] Pierwsza ma sprawdzać czy sprecyzowano język i czy jest nazwa artykulu. rozszerzenie .html może wystąpić Druga reguła tworzy link gdy nie sprecyzowano wersji językowej. Problem: Przetestowałem te reguły z pomocą http://www.regexp.pl/ i jest ok ale po wrzuceniu tego na serwer przegladarka pozwala rowniez na takie zapisy: http://www.strona.pl////en///artykul.html http://www.strona.pl///////artykul.html Co zrobiłem żle? Pozdrawiam i dziekuje za sugestie |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:24 |