| start Webszerkesztés egyéb PHP alapú megoldások Több domain 1 gépre irányítása |
| A kereséshez kattints a fentebb látható mezőbe > írd be a keresett kifejezést majd nyomj egy ENTER-t. FRISS FÓRUMTÉMÁK Kinek milyen a websiteja? II. [respector] Egyéni rajzok saját 5let alapján III. [D3fy] offtopic III. [BlackY] Emotikon hetek [Halfbreed] Joomla! (Mambo 4.5.x) [LeGaS] Help! [Mozaik] Segítséget kérnék [LeGaS] Hálózat [Flatron] Általános kérdések [Tirion] Php-s Probléma... [unduruxi] LAPAJÁNLÓ mobiltrend.hu hírek, információk RSS / META STATISZTIKA |  |
Több domain 1 gépre irányítása |  |
Írta: BlackY
Ma belefutottam egy problémába: mi van akkor, ha otthoni kis házi szerverünk van, és regisztrálunk hozzá egy domain-t pl. a http://www.no-ip.com/-on. Egyszerű az eset: az index.html vagy index.php oldalunk megjelenik. De mi van akkor, ha mi már több különböző domaint regisztrálunk és azt szeretnénk, hogy a címet beírva azonnal az adott oldal töltődjön be, anélkül, hogy a felhasználó a többiről tudomást szerezne. Mivel nem volt kedvem szervert konfigolni inkább egy másik utat találtam ki: index.php<?PHP $dirs['gyik.sytes.net'] = 'gyik'; $dirs['tutorial.hu'] = 'tutorial'; if($_SERVER['REQUEST_URI'] == '/') { $uri = '/index.php'; } else { $uri = $_SERVER['REQUEST_URI']; } if(array_key_exists($_SERVER['HTTP_HOST'], $dirs)) { if(!file_exists($dirs[$_SERVER['HTTP_HOST']] . $uri)) { print "A keresett file nem található a szerverünkön!"; exit; } else { chdir($dirs[$_SERVER['HTTP_HOST']]); ini_set("include_path", $dirs[$_SERVER['HTTP_HOST']] . PATH_SEPARATOR . ini_get("include_path")); include($dirs[$_SERVER['HTTP_HOST']] . $uri); } } ?> Mit csinál ez a kód? A kódban - mint ahogy az az első két sorban italic-al ki van jelölve - akárhány domain nevet megadhatunk a következő formában: kód$dirs['domain név'] = 'könyvtár neve'; Ebben az esetben a domain név NE tartalmazza a http:// protokoll előtagot, se filenevet, és a végén ne legyen ott a / jel. Pl.: gyik.sytes.net -> Jó gyik.com -> Jó http://www.gyik.com/ -> Rossz http://www.gyik.com/index.php -> Rossz Na visszatérve eredeti kérdésünkre... A szkript maga annyit csinál, hogy a dőlt-tel (italic) jelzett sorok feltöltenek egy ún. (egy dimenziós) tömböt (array), amelyben az elemek kulcsa (neve - key) az adott domain név, az értéke pedig az a könyvtár, ami az adott domain névnél a DocumentRoot értéket kell, hogy felvegye. Ezután megnézi, hogy van-e olyan elem a fentebb feltöltött tömbben, amelynek a kulcsa megegyezik azzal a domain-el, amiről a felhasználó információkat töltött le. (Ezt a PHP a $_SERVER['HTTP_HOST'] változóban tárolja). Ha talál ilyet, akkor megnézi, hogy a hozzá tartozó könyvtárban létezik-e olyan nevű file, amit a felhasználó lekért. Ha igen, akkor beállítja, hogy az esetleges include és require függvényeknél az adott könyvtárban is keresse a fileokat, és "behúzza" azt a filet. Ha nem talál, akkor visszadob egy üzenetet, hogy "404 - A keresett file nem található szerverünkön!" Ha viszont az adott domain-hez nincs megadva könyvtár, akkor a user kap egy üzenetet, hogy eltéved az internet dzsungelében, és bocs.. :) Remélem más is hasznát veszi, nekem tetszik, mert nem kell szenvednem a szerver konfiggal... Egy ötletként megjegyezném, hogy az index.php-vel azonos könyvtárba érdemes egy .htaccess fájlt is elhelyezni, melynek a tartalma a következő legyen: .htaccessErrorDocument 404 /index.php Ezután bármely fájlt próbálják meghívni a szerveren (pl. egy teszt.php-t, vagy egy nemlétező phpinfo.php-t), mindig az index.php-ra fognak jutni. Ez köszönhető annak, hogy a nemlétező fájl meghívásakor egy 404-es hibát kapnak, ami meghívja az index.php-t. (Zárójeles megjegyzés: a tutorial-ban szereplő módszert még akkor is érdemes használni, ha pl. ingyenes szolgáltatónál van egy regisztrált tárhelyünk, és ugyanarra a tárhelyre több különböző oldalt szeretnénk feltenni.) A szkript egyetlen apró szépséghibája, hogy a kezdőlapunknak MINDENKÉPP index.php-nak kell lennie minden domain esetében! Ha más nincs, nevezzük át a html filet, az eredmény ugyanaz lesz. szerző: BlackY
< Előző |  | Következő >
[vissza]
(C) 2006 www.tutorial.hu - photoshop és webszerkesztés leírások Joomla! is Free Software released under the GNU/GPL License. | ### FÓRUMOK [WEB] Honlapkészítés témában az alábbi 2 alfórumunkat tekintsd meg: - webprogramozás (PHP, MySQL) - webszerkesztés, webdesign (ami a honlapkészítéssel kapcsolatos lehet) Az olvasáshoz nem, de a hozzászóláshoz regisztrálni kell magad. Javasoljuk a kereső használatát a kérdések feltevése előtt.. ;) ### LETÖLTÉSEK [WEB] Forráskód szerkesztők Könyvek Link menedzsment Kódoptimalizálás Scriptek, kódok Szervercsomagok ### ONLINE CUCCOK Linkek... - URL "tisztítás" - Url továbbítás - Linkrövidítés - Linkhosszabítás - halott linkek ellenőrzése - Aktuális IP címed Színek... - Colormixers - wellstyled.com - ReedDesign Colors - crieseuwebsite.com - more.btexact.com - colorcube - behr.com - workbook - Defence Mechanism ColorToy - ColorWhore - dev.sessions.edu - ficml.org - colorschemer.com - online - themaninblue.com - technicolor - colormatch.dk - nebulus.org - fullscreen color picker CSS... - Jano - CSS, usability stb. - js.hu CSS puska - CSS Box Border Teszt - CSS - CSS compatibility - Gördítősáv módosítása - CSS lapgenerátor I. Biztonság... - .htaccess és .htpasswd - .htaccess user tiltás - Egyéni hibalapok - Htaccess direktlink tiltás - Jelszavas védelem - Jelszó generátor I. - Jelszó generátor II. - MD4, MD5, SHA-1 Forráskód... - Tidy (online HTML tisztító) - HTML encoder - HTML titkosítás - E-mail encoder Generálnak ezt-azt... - i-Frame - Marquee - Felugró ablak I. - Felugró ablak II. - Meta tagok - Favicon I. - Favicon II. Képekhez... - JPG PNG GIF optimalizáló - kulcsszavak (keywords) - Online képszerkesztő - Honlap betöltési ideje - robots.txt generator Mintaszöveg... - lipsum.com - lorem-ipsum.info - malevole.com Fordítás... - translit.ru - dict.sztaki.hu szótár - babelfish szótár Egyéb... - - HTMLinfo - webes technológiák - Webdesigner's Handbook |