Wildcard funkcija: Skirtumas tarp puslapio versijų

Iš IV pagalba klientams.
Peršokti į: navigacija, paiešką
(Skirtingų svetainės dalių pateikimui)
(Skirtingų svetainės dalių pateikimui)
49 eilutė: 49 eilutė:
 
RewriteEngine On
 
RewriteEngine On
 
RewriteCond %{HTTP_HOST} !^www\.mano-svetaine\.lt$ [NC]
 
RewriteCond %{HTTP_HOST} !^www\.mano-svetaine\.lt$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.'''mano-svetaine'''\.'''lt'''$ [NC]
+
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.mano-svetaine\.lt$ [NC]
 
RewriteRule ^$ http://www.mano-svetaine.lt/language.php?lang=%2 [L]
 
RewriteRule ^$ http://www.mano-svetaine.lt/language.php?lang=%2 [L]
 
</pre>
 
</pre>

13:26, 5 rugpjūčio 2014 versija

Kas yra Wildcard funkcija

Wildcard funkcija leidžia svetainės pagalba valdyti visus subdomenus ( pvz. *.mano-svetaine.lt ). Tai dažniausiai naudojama dviem pagrindiniais tikslais:

  • Norint visus lankytojus nukreipti į pagrindinį puslapį, t.y. atidarius puslapį http://betkas.mano-svetaine.lt lankytojas būtų peradresuotas į http://www.mano-svetaine.lt arba į http://mano-svetaine.lt
  • Dinamiškam svetainės veikimui, pvz. atidarius subdomeną lt.mano-svetaine.lt būtų pateikiama lietuviška puslapio versija, atidarius en.mano-svetaine.lt - angliška, ru.mano-svetaine.lt - rusiška ir t.t.


Wildcard funkcijos aktyvavimas

Tam, kad galėtumėte naudotis šia funkcija, reikia, kad bet koks subdomenas ( *.mano-svetaine.lt ) nukreiptų lankytoją į Jūsų serverį, o serveris būtų paruoštas aptarnauti tokius lankytojus. Jei domenas registruotas ir valdomas per mus - visi subdomenai automatiškai nukreipiami ten pat, kur nukreiptas pagrindinis domenas.

Jei serveris, kuriame talpinama svetainė, yra vienas iš mūsų talpinimo planų arba profesionalaus hostingo serverių wildcard funkciją iš serverio pusės įjungsime mes, tam tereikia laisvos formos prašymo, atsiųsto iš klientų sistemos, adresu:

https://klientams.iv.lt/support.php

SVARBU: Aktyvavus šią funkciją, nustos veikti atskirai serverio valdymo pulte sukurti subdomenai, tad tam reikėtų pasiruošti.


Naudojimo pavyzdžiai

Automatinis subdomenų kūrimas

Jei direktorijoje public_html yra sukurti katalogai, iš jų galima padaryti subdomenus. Tam reikėtų .htaccess failą, esantį kataloge /domains/mano-svetaine.lt/public_html papildyti tokiomis eilutėmis:

RewriteEngine on
RewriteCond %{ENV:REDIRECT_SUBDOMAIN} =""
RewriteCond %{HTTP_HOST} ^([a-z0-9][-a-z0-9]+)\.mano-svetaine\.lt\.?(:80)?$ [NC]
RewriteCond %{DOCUMENT_ROOT}/%1 -d
RewriteRule ^(.*) %1/$1 [E=SUBDOMAIN:%1,L]
RewriteRule ^ - [E=SUBDOMAIN:%{ENV:REDIRECT_SUBDOMAIN},L]

vietoje mano-svetaine ir lt įrašykite savo svetainės duomenis.

P.S. jei reikia - išimtis (katalogus kurių nereikia versti subdomenais) galima aprašyti pridėjus dar vieną eilutę (prieš "RewriteRule"):

RewriteCond %{HTTP_HOST} !^subdomenas.mano-svetaine.lt.lt$ [NC] [OR]

Skirtingų svetainės dalių pateikimui

Skirtingų svetainių atvaizdavimas, keičiant subdomeną ( pvz. lt, en, ru ). Tam nebūtina wildcard funkcija, pakanka subdomenus prisijungti kaip sinonimus.

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.mano-svetaine\.lt$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.mano-svetaine\.lt$ [NC]
RewriteRule ^$ http://www.mano-svetaine.lt/language.php?lang=%2 [L]

vietoje mano-svetaine ir lt įrašykite savo svetainės duomenis.

Panašiai galima naudoti PHP skriptą. Koks subdomenas naudojamas galima sužinoti taip:

$domain = $_SERVER['HTTP_HOST'];