![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam panowie.
Chciałbym wykonać coś takiego, że klikając w wybór języka np. padł wybór języka strony w PL to przenosi nas na domena.pl/pl (lub pl.domena.pl) , jeżeli wybiorę niemiecką stronę to przeniesie nas na domena.pl/de (lub de.domena.pl). Wiem , że to można przy pomocy htaccess.
Tylko teraz odnośnie pierwszego sposobu (domena.pl/pl), zastanawiam się jak zrobić by nie musieć w każdym zmieniać tego:
na :
i tak dla wszystkich podstron. Tak już z drugim swoim pomysłem wymiękłem i nie wiem jak to wykonać. Możecie mi panowie pomóc? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Żeby nie zmieniać w każdej regule najlepiej by było zminimalizować liczbę reguł, np.:
Kod RewriteRule ^([^-]+)/(logowanie|rejestracja|konto|inny_slug|jeszcze_inny_slug)\.html$ index.php?o_page=$2&lang=$1 [L] Albo Kod RewriteRule ^([^-]+)/([a-z0-9\-]+)\.html$ index.php?o_page=$2&lang=$1 a w kodzie wygenerować dla nieistniejących podstron status 404. Regułę dla lang też można uprościć, jeśli wiesz jakie będą języki, to: Kod ^(pl|en|de|ru)/..... jeśli nie znasz, a będą dwuliterowe, to: Kod ^([a-z]{2})/.... tu też warto obsłużyć brak języka. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
@trueblue a jak wykonać sposób drugi o którym pisałem w swoim temacie?
Mianowicie pl.domena.pl ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Kod RewriteCond %{HTTP_HOST} ^(.+)\.domena\.pl$
RewriteRule ^(.*).html$ index.php?o_page=$1&lang=%1 Ten post edytował trueblue 14.10.2015, 19:49:46 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
@trueblue
Mam reguły które działają:
teraz chce by te strony były tłumaczone w zależności od wyboru języka zatem dodaje:
To powyżej działa, ale np jak bym miał 100 podstron to trochę czasochłonne by było edytowanie tego wszystkiego. Dlatego szukam sposobu by to skrócić, ale podany przez Ciebie sposób nie działa:
ani nawet bez języka też nie działa:
Teraz zrozumiałeś mnie ? ![]() Ten post edytował casperii 14.10.2015, 20:51:47 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem, na początku piszesz o mojej regule, a potem, że Twoja reguła przenosi na główną.
Ta reguła: Kod RewriteRule ^([^-]+)/([a-z0-9\-]+)\.html$ index.php?o_page=$2&lang=$1 dla: http://domena.pl/ru/abc.html wygeneruje: http://domena.pl/index.php?o_page=abc&lang=ru Zastąpiłeś wszystkie reguły (logowanie, rejestracja, itp.) jedną regułą? Jeśli tak, to pokaż .htaccess po zmianach. Ten post edytował trueblue 14.10.2015, 20:52:48 -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
@trueblue
Ten post edytował casperii 14.10.2015, 20:57:07 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdziłem na wycinku:
Kod RewriteEngine On RewriteBase / RewriteRule ^index\.html$ index.php [L] RewriteRule ^([^-]+)/([a-z0-9\-]+)\.html$ index.php?o_page=$2&lang=$1 Działa. -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
@trueblue
Możesz podać przykład bo nie bardzo rozumiem. A nie można w jakiś magiczny sposób po prostu dołożyć pl/ w adres - pozostałych linków bym już nie musiał edytować. domena + pl + regułki już utworzone. Ten post edytował casperii 14.10.2015, 21:37:36 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Gdybyś wyjaśnił wcześniej, że nazwy plików nie odpowiadają slug'om, byłoby łatwiej.
Musisz sobie utworzyć jakąś tablicę translacji (w PHP), gdzie dla różnych nazw slugów będziesz kierował do jednego pliku. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 12:07 |