Moim celem jest umożliwienie skryptom pobieranie informacji o języku w jakim użytkownik chce wyświetlić stronę oraz oczywiście o bieżącej lokalizacji.
Przykładowe wywołania witryny:
strona.pl
strona.pl/jakas_strona
strona.pl/konto/logowanie
en.strona.pl
en.strona.pl/jakas_strona
en.strona.pl/konto/logowanie
Wszystkie dane trafiają do pliku index.php jako $_GET['_url'] i $_GET['_lang']
Oto kawałek kodu mod_rewrite jaki wyskrobałem:
Kod
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^(([a-z]{2})\.|)(.+)$ [NC]
RewriteRule ^(.*)$ index.php?_url=$1&_lang=%2 [NC,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^(([a-z]{2})\.|)(.+)$ [NC]
RewriteRule ^(.*)$ index.php?_url=$1&_lang=%2 [NC,L]
Niestety powyższy kod działa jedynie w wybranych przypadkach.
Działa gdy podana jest jakaś wartość dla _url (czyli np. strona.pl/cos_tam_cos lub en.strona.pl/cos_tam_cos), wówczas wyświetla (jeśli podano) _lang i _url
Natomiast gdy wywołam stronę główną (np. strona.pl lub en.strona.pl), żaden z parametrów nie jest przekazywany do skryptu
Proszę o pomoc. Jak zmienić mój kod, by działał w każdym przypadku?
Pozdrawiam
Michał