-
1. Data: 2009-11-12 13:52:27
Temat: mod_rewrite
Od: jkdas <j...@e...com>
Ostatnio w mojej stronie wprowadziłem przyjazne adresy typu
www.mojadomena.com/pl/aaa.html które są tak naprawdę odwołaniem do
www.mojadomena.com/index.php?lang=pl&strona=aaa
Ta cześć działa bez zarzutu.
Gdy wpisze w przeglądarce www.mojadomena.com/pl/aaa.html lub
www.mojadomena.com/index.php?lang=pl&strona=aaa to pojawia się ta sama
strona.
Teraz chciałbym zablokować "brzydkie" adresy
www.mojadomena.com/index.php?lang=pl&strona=aaa pozostawiając jedynie
www.mojadomena.com/pl/aaa.html Głównie zależy mi na usunięciu brzydkich
adresów z wyszukiwarek a pozostawieniu tylko ładnych.
Zawartość pliku .htaccess
1. RewriteEngine on
2. RewriteRule !^(en|pl)(\/)?(\/(.*)\.html)?$ 404.html [NS,NC,L]
3. RewriteRule ^(en|pl)(\/)?(\/(.*)\.html)?$ index.php?lang=$1&strona=$4
[NC,L]
Gdy dodaję linijkę 2. to nie działa nic, wszystko jest przepisywane na
404.html
Przecież jeśli adres pasuje do 3. to nie pasuje do 2. Jednak i tak ładne
adresy są blokowane przez regułę 2.
Dlaczego, co robię źle? Jak inaczej mogę osiągnąć swój cel?