Wildcard funkcija

Iš IV pagalba klientams.
09:34, 13 rugsėjo 2019 versija, sukurta IV IevaK (Aptarimas | indėlis)
(skirt) ← Ankstesnė versija | Dabartinė versija (skirt) | Vėlesnė versija → (skirt)
Peršokti į: navigacija, paiešką

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. Tokį funkcionalumą išnaudoja dalis turinio valdymo sistemų, pvz. "Wordpress multisites"

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} ^en.mano-svetaine.lt
RewriteRule ^(.*)$ http://mano-svetaine.lt/en/$1 [L,NC,QSA]

"RewriteCond" eilutėje, vietoje mano-svetaine ir en įrašykite savo svetainės duomenis.

"RewriteRule" eilutėje, vietoje matomo "URL" adreso įrašykite adresą kur bus atliekamas peradresavimas.

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

$domain = $_SERVER['HTTP_HOST'];