Mam na przykład dwa pliki w moim katalogu głównym: one.php i two.php. Chciałbym dotrzeć do nich przez te adresy URL bez konieczności posiadania katalogów fizycznych en + de.Ustaw język za pomocą htaccess URLrewrite
- mydomain.com/en/ jeden
- mydomain.com/en/ dwa
- mydomain.com/de/ jeden
- mydomain.com/de/ dwa
Pierwszy katalog zostanie "zignorowany" i po prostu przekazać GET v z ustawieniem języka do pliku php, drugim katalogiem jest plik php bez rozszerzenia.
To właśnie używam w moim htaccess stracić rozszerzenie pliku dotąd:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
UPDATE/Rozwiązanie
Jest to całkiem przydatne: .htaccess rule for language detection
i to wydaje się dość dużo robić to, co chciałem:
RewriteRule ^(en|de|fr)/(.*)$ $2?lang=$1 [L,QSA]
RewriteRule ^(.*)$ $1?lang=en [L,QSA]
ONE MORE dodatkowe pytanie
Dla mydomain.com/en/ jeden/id45
Jeśli chcę przekazać id45 jako zmienna do one.php co linia w htaccess mam dodać?
Twoje pytanie nie jest oczywista. Czy 'one.php i two.php' znajdują się w katalogu głównym lub w katalogu' en/',' de/'folders? – anubhava
Pliki znajdują się w katalogu głównym ... Nie chcę mieć fizycznie folderów en + de Po prostu potrzebuję ich w adresie URL dla zmiennej językowej –
@anubhava: Mam nadzieję, że to sprawi, że będzie bardziej zrozumiała. –