Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wiele domen w jednym serwisie
Forum PHP.pl > Forum > PHP
tabbi
Witam,

pracuje w oparciu o Framework Codeiginiter i chciałbym wprowadzić możliwość tworzenia kont profilowych użytkowników, które byłyby wyświetlane w adresie subdomeny albo jako nowa domena podpięta pod serwer.

Co do subdomen to zostaje Wildcard, serwer jest w oparciu o Nginx wiec sprawdzanie hosta i odpowiedni rewrite (profil/$host gdzie host jest np. nazwa użytkownika) myślę że to powinno zadziałać ?
Nie mam jednak pomysłu co robić w sprawie nowych domen np. użytkownik życzy sobie podpięcie domeny ja.pl pod konto swojego profilu ? Sprawdzanie za pomocą $_SERVER z jakiego hosta została wywołana strona i odpowiednie parsowanie wydaje się dość naiwne. Czy może lepiej jakiś skrypt nasłuchujący ?
marins
Cytat(tabbi @ 29.01.2012, 16:21:09 ) *
Co do subdomen to zostaje Wildcard, serwer jest w oparciu o Nginx wiec sprawdzanie hosta i odpowiedni rewrite (profil/$host gdzie host jest np. nazwa użytkownika) myślę że to powinno zadziałać ?

bardzo dobre rozwiązanie - już na poziomie serwera (sam tak kiedyś zrobiłem).

Jest jeszcze inne rozwiązanie, bez .htaccess, wersje językowe w jednym z serwisów rozwiązałem tak:
pl.domena.pl
en.domena.pl
ru.domena.pl

wszystkie subdomeny były podpiętę pod główną witrynę - a z poziomu php wykrywałem i ustawiałem jezyk w session.
Ciut wolniejsze - bo potrzeba Ci ok 100 linijek kodu na walidacje, języki, preferencje usera itp itd.

Czyli u Ciebie - przekierowanie wszystkich subdomen na główną witrynę i po hoście rozpoznanie.

Cytat(tabbi @ 29.01.2012, 16:21:09 ) *
Nie mam jednak pomysłu co robić w sprawie nowych domen np. użytkownik życzy sobie podpięcie domeny ja.pl pod konto swojego profilu ? Sprawdzanie za pomocą $_SERVER z jakiego hosta została wywołana strona i odpowiednie parsowanie wydaje się dość naiwne. Czy może lepiej jakiś skrypt nasłuchujący ?


Nie widzę innego rozwiązania, ewentualnie odrazu przekierowanie do `profile/%user/`, w htaccess także możesz zrobić tego rozpoznanie i przekierowanie do odpowiedniego konta.

Do tego prosty panel zarządzania i możesz zrobić sobie autorgenerowany htaccess.
jackussa
W przypadku dy chcesz rozróżniać serwisy w stosunku do domeny (nie subdomeny) możesz zrobić helpera

Jego zadaniem jest sprawdzanie juz na poziomie servera z jakiej domeny jest request i wystawienia flagi, w zalezności od flagi ładujesz odpowiednie komponenty, grafiki etc. Ja tak mam zrobione kilka stron i działa wyśmienicie.

Sam helper jest bardzo prosty (to tylko przykłąd)

  1. if ('SerwisA.pl'===$_SERVER['SERVER_NAME']||'SerwisB.pl'===$_SERVER['SERVER_NAME']) {
  2. $flaga = 1;
  3. }
  4. elseif('SerwisC.pl'===$_SERVER['SERVER_NAME']) {
  5. $flaga = 2;
  6. }else{
  7. $flaga = 0;
  8. }


I teraz gdy potzrebujesz załadować coś różnego sprawdzasz zmienną $flaga i w zalezności od jej zawartości wstawiasz na stronę odpowiednie elementy
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.