BLOG
Htaccess ile WWW Kaldırma / Ekleme
Tayfun Erbilen ekledi. 26 Ekim 2012 Cuma
Merhaba arkadaşlar, benim her zaman problem yaşadığım bir konudur bu.. Her projemde de bunu uygularım.. Örneğin site adresini www ile belirlemişimdir.. Ancak www olmadan girince de site açıldığı için, ajax dosyamın yolu www ile belirlendiği için ajax'lar çalışmaz.. Bazı sunucularda www ile giriş yapıp, www'süz siteyi açtığında sanki giriş yapmamış gibi gözükür vs.. Bu tür sorunların önüne geçmek için ya www ile girmesini sağlayacağız kullanıcının ya da hiç www kullanmadan girmesini.. Nasıl yaparız?
Eğer anadizinde bir htaccess dosyanız varsa onu açın ya da bir tane oluşturun ve şunları ekleyin;
RewriteEngine on RewriteCond %{HTTP_HOST} ^siteadi\.com [NC] RewriteRule ^(.*)$ http://www.siteadi.com/$1 [L,R=301]
Yukarıdaki örnekte, nasıl girerse girsin her zaman www olarak yönlenecek.. Örn: ogretiyor.com olarak girin sizi www.ogretiyor.com'a yönlendirdiğini görebilirsiniz..
Bunun tam tersini nasıl yaparız? Yani www ile girse bile www ekini kaldıracak.. O zaman kodu şöyle değiştiririz;
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.siteadi\.com [NC] RewriteRule ^(.*)$ http://siteadi.com/$1 [L,R=301]
Evet artık böyle bir problemimiz kalmadı, kolay gelsin :) Gözat
Kaydol:
Kayıt Yorumları (Atom)
HAKKIMDA
2009'dan beri web işleriyle uğraşan, aynı zamanda amatör müzikle de uğraşan sıradan birisi..
- LASTEST NEWS
- Cook truly green with BEKA
- New website for Q-int
- Launched FlandersBio's new
- Fresh website for Hoaxland
- read more news
- SOSYAL HESAPLARIM
- Facebook.Com/TayfunErbilen
- Twitter.Com/TayfunErbilen
- YouTube.Com/TayfunErbilen
- Google+ / TayfunErbilen
- Daha fazlasını göster
- İLETİŞİME GEÇİN!
- TELEFON(+90) 541 749 57 44
- E-POSTAtayfunerbilen@gmail.com
- MESSENGERfreelance@darkod.com
bir arada 404 gibi özel sayfaların nasıl yapılacağını anlatırmısın tayfun. o da Htaccess il alakalıydı diye hatırlıyorum. :)
YanıtlaSilteşekkürler.
Onuda anlatırım, çok zor bir şey değil zaten :)
SilTayfun mesela htaccess ile index of kaldırabiliyormuyuz ? site.com/images klasörüne girdiğin zaman listeleniyorya onu kaldırmak istiyorum.
YanıtlaSilHtaccess ile dizine erişimi engelleyebilirsin şu şekilde;
SilOrder Deny,Allow
Deny from all
Bu kodu dosyalarına erişimi engellemek için hangi dizini istiyorsan orada htaccess oluşturup kodları yazıp atacaksın..
Ancak bu şekilde sende kendi resimlerine vs. erişemezsin.. Bu işlemi genelde php dosyalarına erişimi yasaklamak için kullanıyoruz.. Php ile require edince çalışıyor ama direk linki girince çalışmıyor dosyalar.. Sen dizindekileri gizlemek için boş bir index.html atabilirsin.. http://www.uzmancevap.org/lib/theme/ gibi..
@Adsız, o klasöre erişmeye çalıştığında Forbidden uyarısı verdirmek istiyorsan, "Options -Indexes" özelliğini kullanman gerekiyor. Directory Listing özelliğini kaldırır.
YanıtlaSilYa da benim kullandığım şöyle bir örnek vereyim sana;
Order deny,allow
Deny from all
Allow from IP_Adresi
Options -Indexes
Burda ne olduğunu şöyle açıklayım kısaca sana;
1. satırda yazdığımız kuralın hangi klasör için geçerli olacağını tanımladık.
2. satırda Deny ve Allow yani izin verme, izin ver sırasını tanımlıyoruz. Buna göre ilk önce izin vermiyor, sonra da tanımladığımız değerlere izin veriyor.
3. sırada gelen tüm requestlere dur diyoruz.
4. satırda sadece belirlediğimiz ip adresinden gelen requestlere izin veriyoruz. Bunu şöyle de yapabiliriz;
Mesela ip adresin 82.145.242.4,
Allow from 82.145.242.4 dediğinde sadece senin IP adresine izin verecektir. Ya da kullandığın ip adresini belirtirsen, prefix olarak da verebilirim sana bu değeri, sadece senin kullandığın ISP üzerinden bu klasöre ulaşışabilir mesela. 82.145.242.0/24 dersen mesela senin subnetindeki bütün IP adresleri ulaşabilir bu klasöre.
5. satırdaki options -indexes ile directory listing(klasör listeleme) özelliğini devre dışı bıraktık. Bu senin yapmak istediğindi.
6. satırda açtığımız directory'nin kapanışı.
Başka sorun olursa, seve seve yardımcı olayım.
1. ve 6. satırlar html tagi gibi algılandığından çıkmamış sanırım onları da açılış ve kapanışları olmadan yazıyorum:
YanıtlaSilDirectory "/www/***/***/***/wp-admin/"
/Directory