Jak stworzyć prosty system aliasów?

Tips & Tricks Zostaw komentarz

Zastanawiałeś się, jak działają serwisy udostępniające darmowe aliasy typu prv.pl?? Aby zastosować się do tej porady wcale nie musisz chcieć stworzyć systemu aliasów. Wystarczy, że jesteś np. właścicielem prostego serwisu społecznościowego i chcesz zapewnić użytkownikom atrakcyjny adres strony wizytówki (zamiast www.domena.pl/user.php?login=damian lepiej dać adres w postaci damian.domena.pl). Aby to zrobić, wystarczy włączyć pewną opcję o nazwie wildcard. Na niektórych hostingach trzeba poprosić administratora o włączenie tej opcji dla danej domeny, na innych (np. nazwa) ta opcja jest domyślnie włączona dla każdej dodawanej domeny a np. na KEI w panelu jest taka opcja podczas dodawania nowej domeny.

Opcja wildcard powoduje, że niezależnie czy w przeglądarce wpiszę www.domena.pl czy www.damian.domena.pl czy www.edek.domena.pl to i tak zostanie załadowany standardowy plik, który się włącza, gdybym wpisał tylko www.domena.pl. Jeśli wpiszę www.domena.pl/pokaz.php czy www.damian.domena.pl/pokaz.php, to zostanie załadowany ten sam plik pokaz.php. Teraz trzeba tylko jakoś rozpoznać co wpisałem na pasku adresu. W tym celu należy napisać następujący kawałek kodu:

$login=$_SERVER['HTTP_HOST'];
$login=str_replace('.domena.pl','',$login);
$login=str_replace('www.','',$login);

Pierwsza linijka pobiera zawartość domeny tj. wpisując np. www.damian.domena.pl/pokaz.php zmienna $login będzie zawierać ciąg znaków www.damian.domena.pl. Druga linijka spowoduje wyrzucenie ze stringa nazwy domeny (w zmiennej $login zostanie sam ciąg znaków www.damian). Ponieważ użytkownik może wpisać www.damian.domena.pl lub samo damian.domena.pl, to należy jeszcze profilaktycznie „wyrzucić” ciąg znaków www. za co odpowiada trzecia linijka. Po tych wszystkich zabiegach w zmiennej $login mamy nazwę użytkownika (damian) i następnie można odczytać z bazy danych jakie informacje profilowe są przypisane do użytkownika damian 🙂 W ten sam sposób można stworzyć system aliasów, wystarczy tylko sprawdzić jaki adres URL został przypisany do subdomeny o nazwie damian i przekierować użytkownika na odpowiednią stronę.

Tagi: , , , , ,

Zanim dodasz komentarz, zapoznaj się z kilkoma podstawowymi zasadami:

  1. Jeśli zamiast imienia (lub pseudonimu) wpiszesz jakiś mało logiczny ciąg znaków np. asdfg, to taki komentarz zostanie usunięty.
  2. Jeśli się za kogoś podszywasz, to taki komentarz zostanie usunęty
  3. Jeśli zamiast imienia (pseudonimu) wpiszesz jakieś słowo kluczowe (np. tani hosting), to taki komentarz zostanie usunięty
  4. Jeśli Twoim jedynym celem jest zareklamowanie się, to taki komentarz zostanie niezwłocznie usunięty
  5. Komentarze nie związane z tematem notki są kasowane.
  6. Komentarze, które zawierają wulgarne słowa, bądź są obraźliwe (nie dotyczy konstruktywnej krytyki) są kasowane.
  7. Komentarze z mailem typu "nie.podam@coś.tam.pl" są kasowane
  8. Komentarze pisane niechlujnie (bez interpunkcji, w błędami ortograficznymi, z licznymi literówkami, pisane WIELKIMI LITERAMI) są kasowane

2 komentarze do “Jak stworzyć prosty system aliasów?”

  1. disip Says:

    Dodam tylko, że są dwa błędy. Powinno być:

    $login=$_SERVER[‚HTTP_HOST’];
    $login=str_replace(‚.tesciki.com’,”,$login);
    $login=str_replace(‚www.’,”,$login);

    ($_SERVER, no i kropka po „damian” :D)

  2. Damian Daszkiewicz Says:

    @disip – dzięki za czujność. Błąd z brakiem kropki „to literówka”.

    Natomiast $HTTP_HOST – wstyd się przyznać, ale pisząc ten wpis posiłkowałem się pewnym skryptem na starym serwerze z włączonym register globals, gdzie nie ma różnicy pomiędzy $HTTP_HOST a $_SERVER[‚HTTP_HOST’]

Zostaw komentarz

WordPress - Hosting: Twój hosting - Skórka: N.Design Studio - Spolszczenie: Adam Klimowski.
RSS wpisów RSS komentarzy Zaloguj się