.htacess Dosyası ile Alt Domaini Dizine Yönlendirme

Apache sunucularda wildcard (*) alt alan adını bir dizine yönlendirme.

cPanel'den *.sanalkurs.net şeklinde bir wildcard (*) subdomain ekledikten sonra blog.sanalkurs.net, soru-cevap.sanalkurs.net vb. bir anlamı olan veya olmayan bütün alt alan adları belirttiğiniz dizine yönlendirilir.

Diyelim ki *.sanalkurs.net şeklinde alt alan adınızı ekleyip /home/sanalkurs/public_html şeklinde ana dizininize yönlendirilecek şekilde ayarladınız. (Herhangi bir alt dizin oluşturup oraya da yönlendirebilirsiniz.)

Şimdi ise blog.sanalkurs.net alt alan adını sanalkurs.net/blog dizinine .htaccess dosyası ile yönlendirmeye çalışıyorsunuz.

blog.sanalkurs.net -> sanalkurs.net/blog

Bu durumda öncelikle /public_html dizinine (veya alt klasör oluşturduysanız oraya) gidip bir .htaccess dosyası oluşturuyoruz.

/home/sanalkurs/public_html/.htaccess dosyamız:

RewriteCond %{HTTP_HOST} ^blog.sanalkurs.net$
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{REQUEST_URI} !^/blog
RewriteCond %{HTTP_HOST}<>%{REQUEST_URI} ^blog.sanalkurs.net<>/([^/]*) [NC]
RewriteCond blog<>%1 !^(.*)<>1$ [NC]
RewriteRule ^(.*) /blog/$1 [L]

Artık blog.sanalkurs.net = sanalkurs.net/blog olacak şekilde ayarladık.

Bu şekilde cPanel'den alt alan adı eklemek yerine .htaccess dosyasını kullanarak da istediğimiz kadar subdomain ekleyebiliriz.

.htaccess dosyası açıklamaları:

1. satırda HTTP_HOST değerinin blog.sanalkurs.net olup olmadığını kontrol ediyoruz. Çünkü blog dışında bir şey yazılmışsa; örneğin forum.sanalkurs.net yazılmışsa bu dizine yönlendirilmesini istemiyoruz.

2. satırda www.sanalkurs.net yazılmamış olduğunu doğruluyoruz. Ünlem (!) işareti değil operatörüdür.

3., 4. ve 5. satırlarda istenen adresin blog.sanalkurs.net/blog olmadığını doğruluyoruz. Aksi takdirde sürekli /blog alt dizinine yönlendirme yapmaya çalışacak ve site açılmayacaktır. Örneğin sanalkurs.net/blog/blog/blog/blog... gibi.

5. satırda ise tüm isteği /blog/ alt dizinine yönlendirerek asıl amacımızı gerçekleştiriyoruz.

Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git