Pokaż wyniki 1 do 2 z 2

Temat: mod_rewrite

  1. #1
    Avatar eMCe
    eMCe jest offline Emil Grzegorz Gubała
    Zarejestrowany
    Dec 2006
    Skąd
    Kielce
    Postów
    1,767

    Domyślnie mod_rewrite

    potrzebuję przekierować adresy:

    domena.pl/pl/
    domena.pl/de/
    domena.pl/en/

    na index.php?language=XX gdzie w miejsce XX wpisze sie pl|en|de

    nic prostszego ? pewnie:
    Kod:
    RewriteRule ^(pl|en|de)/ index.php?language=$1 [L]
    jednak do czasu....
    bo co z resztą ? zdało by się żeby ujrzeli index
    więc siup ich do error który raz ze sprawdzi czy jest podany język tylko bez / na końcu
    a dwa sprubuje wyciąć język z HTTP_ACCEPT_LANGUAGE eventualnie wstawi en jako domyślny i zrobi redirect 301

    wszystko pięknie ? no właśnie nie....
    jak do tego napisać regułkę mod_rewrite ?
    Kod:
    RewriteRule ^(pl|en|de)/ index.php?language=$1 [L]
    RewriteRule (.*) error.php?error=$1 [L]
    Jak dobrze rozumiem istote dzialania (pomijaj sensowność tego rozwiązania to test) to przy takiej regułce gdy wyśle:
    domena.pl/pl/ powinienem dostać index.php - tymczasem dostaje error.php - why ?

    i dlaczego zmienna $_GET['error] ma wartość "error.php" przy zapytaniu np. serwer.pl/cos/ a nie wartość "cos/" skąd ta wartość "error.php" ?

    EDIT:
    a no zapomniałem dodać - wiem ze istnieje flaga [C] zekomo do tego typu rzeczy
    Kod:
    RewriteRule ^(pl|en|de)/ index.php?language=$1 [C]
    RewriteRule (.*) error.php?error=$1
    tez nie śmiga
    Ostatnio edytowane przez eMCe : 01-29-2009 - 12:19
    Agencja reklamy kielce (mały kilkudniowy case pozycjonerski )

  2. #2
    Zarejestrowany
    Dec 2008
    Postów
    91

    Domyślnie

    Myślałem jeszcze i też nie znalazłem rozwiązania. Btw. dla tego właśnie odchodzę od PHP na rzecz innych języków i frameworków (aktualnie python + Django).

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj