Hızlı özet
- DNS sunucunuzda * .website.com bir joker karakter alanı oluşturmanız gerekir.
- Ardından vhost konteynerinizde joker karakteri de belirtmeniz gerekir * .website.com - Bu, DOC'larda yapılır
ServerAlias
- Ardından PHP'de alt alanı ayıklayın ve doğrulayın ve uygun verileri görüntüleyin
Uzun versiyon
1. Bir joker karakterli DNS girişi oluşturun
DNS ayarlarınızda, gibi bir joker etki alanı girişi oluşturmanız gerekir *.example.org
. Joker karakter girişi şuna benzer:
*.example.org. 3600 A 127.0.0.1
2. Joker karakteri vhost'a ekleyin
Apache yapılandırmasında bir sonraki ServerAlias
adımda , DOCs yönergesinde joker karakteri belirten bir vhost kabı kurmanız gerekir . Örnek bir sankon kapsayıcısı:
<VirtualHost *:80>
ServerName server.example.org
ServerAlias *.example.org
UseCanonicalName Off
</VirtualHost>
3. PHP'de hangi alt alan adında olduğunuzu öğrenin
Ardından, PHP betiklerinizde $_SERVER
süper global değişkene bakarak etki alanını bulabilirsiniz . PHP'de alt etki alanını kapmanın bir örneği:
preg_match('/([^.]+)\.example\.org/', $_SERVER['SERVER_NAME'], $matches);
if(isset($matches[1])) {
$subdomain = $matches[1];
}
Sitenize www.subdomain.example.org veya subdomain.example.org yoluyla ulaşan insanlara izin vermek için burada normal ifadeyi kullandım.
Www ile uğraşmak zorunda kalacağınızı asla tahmin etmiyorsanız. (veya diğer alt alan adları) daha sonra aşağıdaki gibi bir alt dizeyi kullanabilirsiniz:
$subdomain = substr(
$_SERVER['SERVER_NAME'], 0,
strpos($_SERVER['SERVER_NAME'], '.')
);
Toplu Sanal Barındırma
Toplu sanal barındırma, sorunun önerdiği gibi bir uygulamayı güçlendirmeye çalışmak yerine genellikle birçok farklı web sitesini barındırmak için kullanacağınızdan biraz farklı bir şemadır.
Ben daha önce benim mod_rewrite tabanlı kitle sanal barındırma ortamı belgeledi blogumda yazı bunu yapmak istediğiniz rota ise bakabilir. Elbette ilgili Apache kılavuz sayfası da var .
Apache'nin ayrıca, kullandığım mod_rewrite yönteminden biraz daha az esnek olan toplu sanal barındırma ile başa çıkmanın dahili bir yolu vardır. Bunların tümü Apache Dinamik Olarak Yapılandırılmış Toplu Sanal Barındırma kılavuz sayfasında açıklanmıştır .
wildcard subdomains
, bunu yapmak için çözümüme bakın.htaccess
.