Pereiti prie turinio

Padekit su RewriteRule


Rekomenduojami pranešimai

Sveiki, turiu tokia puslapio struktura:

site.com
\about\
\contact\
\mail\
\ru\
\uk\
\lt\
\ru\o-stranice\
\ru\kontakty\
\ru\pochta\
\uk\storinka\
\uk\zvorotnij-zvyazok\
\uk\skrynka\
\lt\apie\
\lt\kontaktai\
\lt\pastas\

 

pradziai sugalvojau(nezinau ar teisingai) sukurti viena byla index.php ir pridejau toki .htaccess

 

RewriteEngine On

# Force English
# for http://www.website.com/
RewriteRule ^([^/]*)/$ index.php?lang=en&article_id=$1

# Other Languages
# for http://www.website.com/ru/
RewriteRule ^(ru|uk|lt)/$ index.php?lang=$1&article_id=index

# Other Languages
# for http://www.website.com/ru/contact/ etc
RewriteRule ^(ru|uk|lt)/([^/]*)/$ /index.php?lang=$1&article_id=$2

 

kur kintamasis $article_id unikalus. "http://site.com", "http://site.com/about/", "http://stormit.net/ru/o-stranice/", veikia tesingai. kada rasau http://site.com/ru/ (uk|lt) iseina kad puslapis galvoja kad tai angliskas papkes pavadinimas ir isveda su echo $_GET["lang"] ir $_GET["article_id"] "en" ir "ru" reiksmes. ka daryti kad puslapis isvestum "ru" ir "index" reiksmes? Noriu kad svetaines struktura butu ko paprasciau.

Redagavo ZTG
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki, turiu tokia puslapio struktura:

site.com
\about\
\contact\
\mail\
\ru\
\uk\
\lt\
\ru\o-stranice\
\ru\kontakty\
\ru\pochta\
\uk\storinka\
\uk\zvorotnij-zvyazok\
\uk\skrynka\
\lt\apie\
\lt\kontaktai\
\lt\pastas\

 

pradziai sugalvojau(nezinau ar teisingai) sukurti viena byla index.php ir pridejau toki .htaccess

 

RewriteEngine On

# Force English
# for http://www.website.com/
RewriteRule ^([^/]*)/$ index.php?lang=en&article_id=$1

# Other Languages
# for http://www.website.com/ru/
RewriteRule ^(ru|uk|lt)/$ index.php?lang=$1&article_id=index

# Other Languages
# for http://www.website.com/ru/contact/ etc
RewriteRule ^(ru|uk|lt)/([^/]*)/$ /index.php?lang=$1&article_id=$2

 

kur kintamasis $article_id unikalus. "http://site.com", "http://site.com/about/", "http://stormit.net/ru/o-stranice/", veikia tesingai. kada rasau http://site.com/ru/ (uk|lt) iseina kad puslapis galvoja kad tai angliskas papkes pavadinimas ir isveda su echo $_GET["lang"] ir $_GET["article_id"] "en" ir "ru" reiksmes. ka daryti kad puslapis isvestum "ru" ir "index" reiksmes? Noriu kad svetaines struktura butu ko paprasciau.

 

radau sprendima, sitas gabalas veikia:

RewriteEngine On

# http://site.com
# note: that this rule changes http://site.com to http://site.com/index.php?...
# which matches the next rule, the [L] flag should prevent that
RewriteRule ^$ index.php?lang=en&article_id=index [L]

# http://site.com/anything except ru,uk,lt
# http://site.com/anything except ru,uk,lt/
RewriteRule ^(?!ru|uk|lt)([^/]+)/$ index.php?lang=en&article_id=$1

# http://site.com/ru,uk,lt
# http://site.com/ru,uk,lt/
RewriteRule ^(ru|uk|lt)/$ index.php?lang=$1&article_id=index

# http://site.com/ru,uk,lt/anything
# http://site.com/ru,uk,lt/anything/
RewriteRule ^(ru|uk|lt)/([^/]+)/$ index.php?lang=$1&article_id=$2

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...