2011-08-01 34 views
5

Odniosłem się do innych pokrewnych pytań, ale nie są one dla mnie jasne. Wyjaśnij mi: Jak mogę zrobić subdomenę w PHP?Jak utworzyć subdomenę z nazwą użytkownika jako nazwą poddomeny?

Przykład:

http://www.domainname.com/page.php?usname=sundar 

Chcę zmienić link do tego

http://sundar.domainname.com 

Jest to możliwe w PHP? Lub w inny sposób to zrobić?

+0

jest to obsługiwane przez serwer (tj. apache) nie php – Ibu

+1

Możliwy duplikat http://stackoverflow.com/questions/183928 – vascowhite

+0

Możliwy duplikat [Jak umożliwić PHP tworzenie poddomeny automatycznie dla każdego użytkownika?] (http: // stackoverflow.com/questions/183928/how-to-let-php-to-create-subdomain-automatic-for-each-user) –

Odpowiedz

3

Mój sposób:
należy utworzyć poddomeny z symbolami wieloznacznymi i wskazać im swoją domenę.

http://www.easymodrewrite.com/example-subdomains

Następnie można analizować $_SERVER['HTTP_HOST'] dla zapytań na nazwę użytkownika.

Jeśli jesteś pod samolotem hostingowym, prawdopodobnie możesz go utworzyć z GUI.
W przeciwnym razie trzeba przejść przez panel APACHE i skonfigurować DNS.

+0

Link jest zepsuty – mukama

0

Można użyć .htaccess url przepisać, aby to zrobić.

Wystarczy przepisać www. (Login) .site.com do www.site.com/profile/(username)

kodu za to byłoby coś ..

RewriteRule ^(.*).site.nl site.nl/profile/$1 

jeśli mój pamięć służy mi dobrze

+0

Niestety - to NIE działa w ten sposób - 'RewriteRule' działa tylko z częścią ścieżki adresu URL. Aby pracować z innymi częściami (nazwa domeny, port, ciąg zapytania) użyj 'RewriteCond'. – LazyOne

+0

Tak, to brzmi lepiej, mój zły, pisałem z pamięci, – Johan

4

Możesz tworzyć wirtualne subdomeny, a następnie możesz przekierować je za pomocą .htaccess.

Trzeba także stworzyć

Record wyglądać następująco

* .exmple.com 127.0.0.1 lub swojej OD

w systemie DNS.

Następnie dodać coś takiego w swoim .htaccess

RewriteRule^([aA-ZZ]) $ Home.php? Username = $ 1

RewriteCond% {HTTP_HOST}^(^ . ) .mywebsite.com
RewriteRule (.
) home.php? username =% 1

To powinno pomóc

Powiązane problemy