Reguły mod_rewrite przy subdomenach

Reguły mod_rewrite przy subdomenach
MA
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 11 lat
0

Nie mogę dojść do ładu z regułami mod_rewrite. Zmieniam sposób obsługi wielojęzyczności stronki na użycie sub-domen:
http://www.stronka.pl - wersja polska
http://en.stronka.pl - wersja angielska, itp.

Usiłuję zrobić przekierowanie na index.php?lang=xx, ale poniższa reguła nie działa.
RewriteRule ^(www|en|de).stronka.pl/(rowery)/?$ index.php?lang=$1&module=$2 [QSA,NC,L]
czyli po wpisaniu:
www.stronka.pl/rowery/ powinna uruchomić się stronka w j. polskim - moduł: rowery.

W logach apache pisze, że nie ma takiego katalogu (rowery) w /public/. Czyli to znaczy, że "rule" nie został spełniony... Może ktoś pomóc?

edytowany 1x, ostatnio: marcinsvr
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 2 miesiące
  • Lokalizacja:Rzeszów
1

RewriteRule sprawdza Ci REQUEST_URI, nie cały adres razem z domeną.

Nieszczególnie bawiłem się z subdomenami w .htaccess ale raczej będziesz musiał użyć tego razem z RewriteCond i dla każdego języka pisać regułki od nowa, tj:

Kopiuj
RewriteCond %{HTTP_HOST} ^en [NC]
RewriteRule ^(rowery)/$ index.php?lang=en&module=$2 [QSA,NC,L]

RewriteCond %{HTTP_HOST} ^de [NC]
RewriteRule ^(rowery)/$ index.php?lang=de&module=$2 [QSA,NC,L]

itd


MA
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 11 lat
1
dzek69 napisał(a)

RewriteRule sprawdza Ci REQUEST_URI, nie cały adres razem z domeną(...)

Podziękował dobry człowieku, już prawie monitor pogryzłem...

Może komuś się przyda:

Kopiuj
RewriteCond %{HTTP_HOST} ^(en|de|pl)\.stronka\.pl$
 # set LANGUAGE variable
RewriteRule (.*) - [QSA,E=LANGUAGE:%1]  
 # check if LANGUAGE is empty
RewriteCond %{ENV:LANGUAGE} ^$          
 # set default LANGUAGE 
RewriteRule (.*) - [QSA,E=LANGUAGE:pl]    
 # use LANGUAGE 
RewriteRule ^(rowery|narty|rolki)/?$ index.php?lang=%{ENV:LANGUAGE}&module=$1 [QSA,NC]
dzek69
o jakie fajne, takiego nie znałem ;) pewnie się kiedyś przyda

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.