Wildcard funkcija: Skirtumas tarp puslapio versijų
(→Kas yra Wildcard funkcija) |
|||
46 eilutė: | 46 eilutė: | ||
<pre> | <pre> | ||
− | RewriteEngine | + | RewriteEngine on |
− | RewriteCond %{HTTP_HOST} | + | RewriteCond %{HTTP_HOST} ^en.mano-svetaine.lt |
− | + | RewriteRule ^(.*)$ http://mano-svetaine.lt/en/$1 [L,NC,QSA] | |
− | |||
</pre> | </pre> | ||
− | vietoje '''mano-svetaine''' ir ''' | + | '''"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: | Panašiai galima naudoti PHP skriptą. Koks subdomenas naudojamas galima sužinoti taip: |
15:11, 23 gruodžio 2016 versija
Turinys
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'];