[PHP] subdomena

0

Moze nie jest to temat do PHP, ale moze ktos podsunie inne rozwiazanie.

Problem jest nastepujacy.

Mam jakas domene domena.pl i chce zarejestrowac subdomene np. cos.domena.pl
Szukalem troche i znalazlem bardzo proste rozwiaanie mianowicie:

$domena = $_SERVER['HTTP_HOST'];

switch($domena)
{
    case "cos1.$domena": header("Location: /cos1/"); break;
    case "cos2.$domena": header("Location: /cos2/); break;
}

I wszystko byloby ok. tylko ze jezeli wpisze w przegladarce http://cos.domena.pl
to przeciez adres ten nie zostanie znaleziony.... I tutaj trzeba ustawic w pliku httpd.conf ServerName na *.moje_IP. Tak tez zrobilem ale nie dziala... Co jeszcze ?
Serwer jest na Apache na Windows. Slabo znam Apache....:(

0

musi być jakiś wpisik w DNS chyba, ale to jak to ma działać w ogóle ?
najpierw ustawiasz zmienną "domena" żeby była HTTP_HOST czyli np cos.domena.pl a potem sprawdzasz czy cos.domena.pl się równa cos1.cos.domena.pl a potem cos2.cos.domena.pl
to tak jakbyś sprawdzał czy ($a=='b'+$a)

0

Pomyłka :-/

Mialo byc tak...

$domena = $_SERVER['HTTP_HOST'];

switch($domena)
{
case "cos1.domena.pl": header("Location: /cos1/"); break;
case "cos2.domena.pl": header("Location: /cos2/); break;
}

W kazdym razie problem sprowadza sie do tego zeby wpisujac cos.domena.pl zostala otwarta tak naprawde domena.pl stad ustawienie w httpd.conf ServerName na *.serwer

0

$_SERVER['HTTP_HOST'] pokaze ci cos.domena.pl a nie sama domena.pl

ale to nie jest duzy problem, bo mozesz sobie dac exploda wzgledem kropki, i polaczyc tylko dwa ostatnie elementy tablicy, czyli domena i pl :)

0
UsTeK_ napisał(a)

$_SERVER['HTTP_HOST'] pokaze ci cos.domena.pl a nie sama domena.pl

ale to nie jest duzy problem, bo mozesz sobie dac exploda wzgledem kropki, i polaczyc tylko dwa ostatnie elementy tablicy, czyli domena i pl :)

Wiem. To była pomyłka.... Edytowalem posta jednak zdazyles zlapac mnie na bledzie :)

Wracajac do tematu... Zeby wpisujac cos.domena.pl zostala otwarta domena.pl trzeba ponoc wlaczyc wildcard... tylko co to jest i gdzie... Szukam po plikach conf. ale nie widze...

0

ja tam se nie wiem (:P) ale nic ci nie da żadna konfiguracja serwera ani skrypt php (chyba raczej) jeśli pingując cos.domena.pl nie jest zwracane to samo IP co pingując domena.pl, a pewnie nie jest zwracane żadne IP i skąd ktokolwiek miałby wiedzieć gdzie wysłać nagłówek host jak nie ma nawet docelowego adresu <- takie są moje poglądy a jak jest to nie wiem :P a tak poza tym to nawet nie zamknąłeś stringa przy cos2 :P

0

Problem polega na tym, że takie subdomeny mogą działać na dwa sposoby:

  1. Serwer ma ustalone na DNS'ie, że WSZYSTKIE xxx.server.pl, gdzie xxx jest dowolnym ciągiem znaków, kierują do tego serwera, a potem on się męczy z wybraniem odpowiedniej strony
  2. Serwer wysyła do DNS'a info, żeby dopisał wpis o danej subdomence i ona kieruje bezpośrednio do tego serwera i znów to on się męczy z dobraniem odpowiedniej strony.
    Które rozwiązanie jest lepsze? Wszystko zależy. Pierwsze pozwala Ci na natychmiastowe dodanie subdomeny, żeby od razu po założeniu działała. Natomiast pierwsze wymaga ok. 24-48 godz na aktualizację DNS'ów, ale może prowadzić do jakiegoś innego serwera i, co ważne, działać nawet wtedy, gdy Twój serwer padnie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1