Örneğin, etki alanım
example.com ve birileri
example.com/sample/page.htm konumuna gittiğinde,
test.com/sample/page.htm konumuna yönlendirilmesini istiyorum.
Bunun muhtemelen bir
.htaccess dosyası veya bir 404 sayfası kullanılarak kolayca yapılabileceğini biliyorum. Ancak, DNS sağlayıcımın benim için herhangi bir dosyayı barındırmasını gerektirmeyen bir çözüm arıyorum.
Bunu yalnızca DNS ayarlarıyla yapmak istiyorum, örneğin:
Bunu yapmanın bir yolu var mı?
Example.com/test.com’un aynı web sunucusuna (IP) dns (isterseniz CNAME) aracılığıyla çözümlenmesini sağlayabilirsiniz ve bu işe yarayabilir.
Bunu yapmak için yola göre, hayırdan daha fazla bir yol arıyorsanız. DNS, URL gibi şeylerden habersizdir. DNS, sadece url'nin (example.com) Host kısmını IP adresine çeviriyor. Web sunucusu, url'nin ne (veya nerede) çözmesi gerektiğini bulmaktan sorumludur. Bunu web sunucusu (http) düzeyinde yapmanız gerekeceğine inanıyorum.
Belirtildiği gibi, bu tamamen DNS ile yapılamaz. Bununla birlikte, eğer example.com için DNS'niz varsa, test.com ile aynı sunucuya başvurursanız Apache'yi yapmak istediğinizi gerçekleştirmek üzere yapılandırmak çok kolaydır. Sadece aşağıdakileri ekleyin:
<VirtualHost *:80> ServerName example.com Redirect permanent / http://test.com/ </VirtualHost>
Bu, example.com'a gelen tüm bağlantıları, yolu koruyan test.com için verilen bir bağlantıya yeniden yazar.
Ayrıca, DNS sağlayıcınızın sizin için herhangi bir dosyayı barındırması gerekmez, çünkü bu yalnızca test.com için çalıştırmakta olduğunuz web sunucusuna dayanır.
Bunu sadece DNS ile yapamazsınız. 301 yönlendirmeleri bir DNS olayı değildir. Onlar bir web sunucusu işi.
Yapabileceğiniz şey example.com DNS girişlerinizi test.com ile aynı sunucuya yönlendirmek ve example.com'u test.com için bir takma ad alanı olarak ayarlamaktır.
İşte tüm istekleri www.mydomain.com'dan mydomain.com'a yönlendirmek için kullandığım
.htaccess kuralı: (kısacası benim kanonik URL’m olduğu için):
RewriteCond %{HTTP_Host} ^www\.mydomain\.com$ [NC] RewriteRule ^(.*)$ http://mydomain.com/$1 [R=301,L]
Bu,
foo.com -
foobar.com konumundan yönlendirilecek şekilde değiştirilebilecek kadar kolaydır, istek korunurken, istemci yalnızca uygun etki alanına 301 yönlendirmesi alır.
Ancak bunu 'sadece' DNS ile yapamazsınız, diğerleri dediği gibi, DNS sunucuları FQDN'leri IP adreslerine göre çözer.