PHP - Virtualne pod-domene - virtual subdomains
Vrsto spletnih strani vam ponuja lastno pod-domeno naprimer roky.album.net ali karkoli.vašadomena.com. Kako to dosežemo? Za vsaka uporabnika kreiramo novo pod-domeno? Ne, pomagamo si s virtualnimi pod-domenami.
Princip delovanja je podoben kot pri kreiranju prijaznih URL-jev za uporabnika in iskalnike. Karkoli uporabnik vpiše v naslovno vrstico (address bar) mod_rewrite modul preusmeri na našo glavno domeno (index.php) kjer s PHP-jem preberemo ali je uporabnik vpisal kakšno pod-domeno ali ne. Na podlagi vpisane pod-domene pa potem vrnemo podatke le za tistega uporabnika (naprimer vrnemo slike, ki se virtualno nahajajo na vpisana_pod_domena oz. roky.album.com naprimer). S tem uporabniku damo možnost personalizacije ter lažjega pomnjenja naslova, kjer lahko dostopa do svojih slik, saj bi se uporabnik težje zapomnil index.php?album=roky&list=view kot pa roky.album.com. Torej potrebujemo:
- mod rewrite(Apache) ali ISAPI Rewrite (IIS)
- .htaccess
Ko vam mod_rewrite modul deluje (poglejte s phpinfo) dodajte sledečo vsebino pod .htaccess:
-
RewriteEngine on
-
RewriteCond %{HTTP_HOST} !^www\.vasa_domena\.com$ [NC]
-
RewriteRule (.*) http://www.vasa_domena.com/$1 [R=301,L]
S tem dosežemo, da vsakega uporabnika preusmerimo na root domene ne glede na to kaj uporabnik vpiše. Sedaj potrebujemo še PHP kodo, ki bo prebrala kakšno pod-domeno je uporabnik vpisal:
-
function getSubDomain(){
-
$subdomain = '';
-
-
if($dummy == "." and $subdomain !== 'www') break;
-
$subdomain = $subdomain.$dummy;
-
}
-
-
// Get Subdomain List
-
}
-
-
$subdomain = ($subdomain <> "www") ? $subdomain : false;
-
$subdomain = ($subdomain === 'trsplet') ? false : $subdomain; // mišljeno kot short host, recimo http://test.com, bi napisal === 'test'
-
$subdomain = ($subdomain === '') ? false : $subdomain;
-
-
return $subdomain;
-
}
Sedaj lahko preprosto preberemo katera pod-domena je bila vpisana:
Dodatne informacije:
- php-si.com - prvotna težava, kjer sem opisal rešitev
- Iskalnikom in uporabnikom prijazni URL-ji (User - SEO freindly URL - Apache, IIS)
- Podobni opis težave
Če potrebujete še kakšno dodatno informacijo ali pa imate kakšne težave nam to sporočite pod komentarje.

julij 1st, 2008 ob 1:34 popoldne
Hvala, tole je pa uporabno.
Zmeraj me je pa zanimalo če obstaja kakšen način da bi v URLjih uporabil tudi šumnike in vse tiste čudne znake. Tako da bi imel naslov naprimer tak:
http://~{nekaj}~.stran.si
ali
http://www.stran.si/~{nekaj}~
Se to da?
julij 1st, 2008 ob 1:38 popoldne
Misliš http://šumniki.stran.si ?
julij 16th, 2008 ob 12:25 popoldne
malo pozen odgovor, ker me ni bilo doma..
ja mišljeno je bilo tako, da lahko uporabljaš šumnike in ostale "čudne" znake..
julij 16th, 2008 ob 12:44 popoldne
Ne, tega se ne da.
julij 17th, 2008 ob 9:54 dopoldne
no saj se mi je zdelo..
Kaj pa če bi naredil tako, da bi zadevo izvedel preko get metode.. Recimo da želiš v URLju prikazati uporabniško ime s šumniki. Bi lahko naredu potem link v obliki:
http://www.stran.si/index.php?id=1234&nick=čžš
oz. z rewrite v htacces da bi dobila nekaj takega:
http://www.stran.si/1234/čžš
To predvidevam da bi šlo? Ker bi potem tako ali tako prebral id uporabnika in je prepoznava znakov popolnoma nepomembna, je tam le zaradi optimizacije..
julij 17th, 2008 ob 10:32 dopoldne
Tudi to ni mogoče (vsaj jest ne vem za opcijo), ker ti bo browser č,š,ž-je nadomestil s drugimi znaki.
julij 17th, 2008 ob 3:49 popoldne
Firefox3 ne zamenja šumnikov v urlju, tako bo http://www.stran.si/index.php?id=1234&nick=čžš ostal isti
julij 17th, 2008 ob 4:12 popoldne
Pri meni ni:
http://www.stran.si/index.php?id=1234&nick=%E8%9E%9A
julij 21st, 2008 ob 3:31 popoldne
kombinacijo šumnikov čžš spremeni v nek kitajski znak
--> 螚
drugače pa škoda ker se nikakor ne da spravit šumnikov gor.. bi prišlo zelo prav pri optimizaciji :/
julij 23rd, 2008 ob 12:51 dopoldne
@Luka: Še vedno bo tebi kot slovencu delovalo. Drugje zagotovo ne.
julij 23rd, 2008 ob 1:45 popoldne
stran je za slovensko govoroče obiskovalce, tako da mi je praktično vseeno če tistemu 0.01% tujcev, ki zaidejo gor stran ne deluje
Ampak ok, če ne gre pač ne gre.. bomo še naprej uoprabljali csz.. sej google kar lepo zamenja če je iskalni niz s šumniki v takega brez..