Avaleht
uus teema   vasta Tarkvara »  WWW »  .htaccess - urli ümberkirjutamine veebimootori jaoks märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
BullDoze
HV kasutaja
BullDoze

liitunud: 01.03.2005



Autoriseeritud ID-kaardiga

sõnum 17.11.2011 13:06:31 .htaccess - urli ümberkirjutamine veebimootori jaoks vasta tsitaadiga

Üritan .htaccessi kasutades kirjutada urle ringi.

Näiteks www.leht.ee/grupp/kategooria/toode vaja ümber kirjutada webi mootori jaoks selliseks: www.leht.ee/?string1=grupp&string2=kategooria&string3=toode. Sügavus on kuni neli erinevat stringi. Selleks kirjutasin sellise koodi:

RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)/([^/]+)(/|$) /index.php?string1=$1&string2=$2&string3=$3&string4=$4 [QSA,L]
RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)(/|$) /index.php?string1=$1&string2=$2&string3=$3 [QSA,L]
RewriteRule ^([a-z0-9_-]+)/([^/]+)(/|$) /index.php?string1=$1&string2=$2 [QSA,L]
RewriteRule ^([a-z0-9_-]+)(/|$) /index.php?string1=$1 [QSA,L]


Nüüd tuleb mul aga leht teha mitmekeelseks ning mõtlesin, et mõistlik oleks edaspidi urle lahendada nii: www.leht.ee/en/grupp/kategooria/toode. Antud loogika jaoks kirjutasin sellise koodi:


      # estonia
      RewriteCond %{REQUEST_URI} ^/et(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)/([^/]+)(/|$) /index.php?lang=et&string1=$1&string2=$2&string3=$3&string4=$4 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/et(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)(/|$) /index.php?lang=et&string1=$1&string2=$2&string3=$3 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/et(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)(/|$) /index.php?lang=et&string1=$1&string2=$2 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/et(/.*|$)
      RewriteRule ^([a-z0-9_-]+)(/|$) /index.php?lang=et&string1=$1 [QSA,L]
      
      # english
      RewriteCond %{REQUEST_URI} ^/en(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)/([^/]+)(/|$) /index.php?lang=en&string1=$1&string2=$2&string3=$3&string4=$4 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/en(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)(/|$) /index.php?lang=en&string1=$1&string2=$2&string3=$3 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/en(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)(/|$) /index.php?lang=en&string1=$1&string2=$2 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/en(/.*|$)
      RewriteRule ^([a-z0-9_-]+)(/|$) /index.php?lang=en&string1=$1 [QSA,L]
      
      # russia
      RewriteCond %{REQUEST_URI} ^/ru(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)/([^/]+)(/|$) /index.php?lang=ru&string1=$1&string2=$2&string3=$3&string4=$4 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/ru(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)(/|$) /index.php?lang=ru&string1=$1&string2=$2&string3=$3 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/ru(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)(/|$) /index.php?lang=ru&string1=$1&string2=$2 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/ru(/.*|$)
      RewriteRule ^([a-z0-9_-]+)(/|$) /index.php?lang=ru&string1=$1 [QSA,L]
      
      # latvia
      RewriteCond %{REQUEST_URI} ^/lv(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)/([^/]+)(/|$) /index.php?lang=lv&string1=$1&string2=$2&string3=$3&string4=$4 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/lv(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)(/|$) /index.php?lang=lv&string1=$1&string2=$2&string3=$3 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/lv(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)(/|$) /index.php?lang=lv&string1=$1&string2=$2 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/lv(/.*|$)
      RewriteRule ^([a-z0-9_-]+)(/|$) /index.php?lang=lv&string1=$1 [QSA,L]
      
      # lithuania
      RewriteCond %{REQUEST_URI} ^/lt(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)/([^/]+)(/|$) /index.php?lang=lt&string1=$1&string2=$2&string3=$3&string4=$4 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/lt(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)(/|$) /index.php?lang=lt&string1=$1&string2=$2&string3=$3 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/lt(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)(/|$) /index.php?lang=lt&string1=$1&string2=$2 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/lt(/.*|$)
      RewriteRule ^([a-z0-9_-]+)(/|$) /index.php?lang=lt&string1=$1 [QSA,L]
      
      # finland
      RewriteCond %{REQUEST_URI} ^/fi(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)/([^/]+)(/|$) /index.php?lang=fi&string1=$1&string2=$2&string3=$3&string4=$4 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/fi(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)(/|$) /index.php?lang=fi&string1=$1&string2=$2&string3=$3 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/fi(/.*|$)
      RewriteRule ^([a-z0-9_-]+)/([^/]+)(/|$) /index.php?lang=fi&string1=$1&string2=$2 [QSA,L]
      RewriteCond %{REQUEST_URI} ^/fi(/.*|$)
      RewriteRule ^([a-z0-9_-]+)(/|$) /index.php?lang=fi&string1=$1 [QSA,L]
      
      # default - estonia
      RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)/([^/]+)(/|$) /index.php?string1=$1&string2=$2&string3=$3&string4=$4 [QSA,L]
      RewriteRule ^([a-z0-9_-]+)/([^/]+)/([^/]+)(/|$) /index.php?string1=$1&string2=$2&string3=$3 [QSA,L]
      RewriteRule ^([a-z0-9_-]+)/([^/]+)(/|$) /index.php?string1=$1&string2=$2 [QSA,L]
      RewriteRule ^([a-z0-9_-]+)(/|$) /index.php?string1=$1 [QSA,L]


Põhimõtteliselt tundub, et töötab. Küsimus on kas seda sama funktsionaalsust on võimalik ka lühemalt/efektiivsemalt kirja panna ?
Kommentaarid: 15 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 14
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  .htaccess - urli ümberkirjutamine veebimootori jaoks
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.