Apache Nedir?
Apache, GNU lisanslı yani açık kaynak kodlu, güçlü, sağlam, yetenekli ve esnek bir http (web) sunucusudur.
34,785 Okunma Henüz yorum yapılmamış 04/10/2011 09:52:34 19/09/2014 09:52:59
Web projelerinizi bir çok şekilde düzene sokup kullanıcı dostu URL’ler yapmamıza ve bir takım yollarla güvenlik önlemleri de almanıza yarayan ve bu alanda en favori olaylarımdan bir tanesidir.
Htaccess ile neler yapabiliriz?
Hadi şimdi sırayla bu yukarıda saydıklarımın nasıl yapıldığına bakalım.
Htaccess’in en popüler kullanım alanlarından birisi budur. Ve sizin de en sevdiğiniz özelliklerinden birisi olacağına inanıyorum.
Bu olayı kullanmanın 2 ideal yöntemi var; birincisi önceden öğrendiğimiz GET metodu ile sayfa.php?sayfa=iletisim şeklinde, ya da POST metodu gibi “REQUEST_URI” ile kullanmak. Hangisi kolayınıza geliyorsa onu seçebilirsiniz fakat benim favorim “REQUEST_URI”den yana.
Yöntem 1: GET metodu kullanarak yapmak.
Öncelikle bir içerik sayfa.php‘miz olsun ve örnek amaçlı switch ile sayfaları tanımlayalım:
Şuan htaccess kullanmadan bu sayfamızı “sayfa.php, sayfa.php?sayfa=hakkinda, sayfa.php?sayfa=iletisim” şeklinde kullanabiliriz. Şimdi gelelim bunu kullanıcı dostu yapmamıza, bu kısımda kod kısmımızda herhangi bir şey değiştirmemize gerek yok.
Sitemizin ana dizinine “.htaccess” adında dosya oluşturuyoruz. Eğer FTP programınız ya da işletim sisteminiz böyle bir dosya oluşturmanıza izin vermiyorsa, not defterinden boş bir sayfa açıp kodları içerisine yazıp, farklı kaydet diyip, “Tüm dosyalar” seçeneğini seçip “.htaccess” yazıp bu dosyayı oluşturabilirsiniz.
İçerisine şu satırları yazıyoruz:
Bu işlemi yaptıktan sonra Htaccess; kullanıcılar eğer olmayan bir sayfaya girmeye çalışırlarsa, yani normalde /hakkinda ya da /iletisim gibi bir dizinimiz olmadığı için, 404 hata sayfasına değil de bizim sayfa.php dosyamıza yönlendirecek.
Fakat yönlendirirken girilmiş olan sayfayı bizim dosyamıza “sayfa” GET parametresi olarak gönderek. Yani bu şekilde site.com/deneme diye girildiğinde arkaplanda çalışacak olan sayfa “site.com/sayfa.php?sayfa=deneme” olacaktır.
Sonuç olarak yine aynı sistem çalışsa da kullanıcılar artık php dosyalarının adını ya da diğer GET parametresi uzantılarını yazmasına gerek kalmadan temiz ve akılda kalıcı bağlantılarla sitenizde gezebiliyorlar.
Yöntem 2: REQUEST_URI ile yapmak.
Diğer yöntemden tek farkı $_GET['sayfa'] yerine girilen adresi $_SERVER['REQUEST_URI'] ile okuyoruz. Fakat burada bize ilk baştaki “/” işaretini de veriyor (“/hakkinda” şeklinde). Bunun için ilk karekteri substr fonksiyonu ile atlıyoruz.
Yani kod kısmımızın ilk 5 satırını şöyle değiştireceğiz:
.htaccess dosyamızda da bu yöntem için bir satırlık değişiklik yapıyoruz, GET parametresi tanımladığımız kısmı siliyoruz:
Bu blog üzerinde bir örneğini görebilirsiniz; phpr.org diye girmeye çalıştığınızda sizi otomatik olarak www.phpr.org adresine yönlendirir. Buradaki mevzu kişinin zevkine de bağlı olsa da daha çok arama motorları ile alakalı. Bazı durumlarda Google sitenizin “www” ekli olan ve olmayan halini farklı iki site gibi değerlendirebiliyor. Mesela bir sitenizin bir çok yerde linki hem “www” ile hem de olmadan paylaşılınca kısmen domain popülerliğini dağıtmış oluyor.
Htaccess ile “www” olmadan girildiğinde ekleyerek kalıcı yönlendirme yapıldığında tüm ilgiler tek bir subdomain ve domainde toplanıyor.
Bir dizin yönlendirmek için de çok basit olarak tek bir satır ile yapabiliyoruz. Dikkat edilecek nokta dizini ne şekilde yönlendireceksiniz? Genel olarak kalıcı (301) ya da geçici (302) durumları kullanılır. Dahası için buraya bakabilirsiniz.
Eğer kalıcı yönlendirme (301) derseniz arama motorları girilen adresdeki indexleri yeni yönlenen adres ile değiştirir. Geçici derseniz herhangi bir değişiklik yapmadan yönlenen adrese girer ve tarar.
3. Hata Sayfalarını Yönlendirme
Hata sayfalarının durum kodlarını öğrenmek için şuraya bakabilirsiniz. Bunlardan en yaygın olarak bildiğimiz; 404 kodlu sayfa bulunamadı, bir diğer örnek olarak da 403 kodlu giriş izni olmayan sayfa hatasıdır.
Dikkat etmeniz gereken nokta; yukarıda SEO ve kullanıcı dostu bağlantılar oluşturma yönteminin temeli, olmayan sayfaları yani 404 kodlu sayfaları bizim belirli dosyamıza yönlendirme olduğu için o yöntemi kullanırken bu aşağıdaki kodlar ile 404 sayfası tanımlamaya çalışmak faydasız olacaktır.
4. Belirli IP Adresine İzin Verme/Engelleme
Tüm bir siteyi olduğu gibi isterseniz sadece belirli klasörlere göre de IP erişim engeli koyabilirsiniz. Bunu yapmak için hazırladığınız “.htaccess” dosyasını ilgili alt klasörün içerisine koymanız yeterli.
5. Bazı Bot ve Web Servislerinin Erişimini Engellemek
İstemediğiniz ya da sitenizde aşırı dolaşıp yoran botları basit bir htaccess hamlesiyle engelleyip sunucunuzu rahatlatabilirsiniz.
Şu adreste genel olarak mimlenmiş kötü amaçlı olduğu düşünülen tüm botların bu yöntem için olan listesini bulabilirsiniz. Ben örnek amaçlı bir kaç tanesini yazacağım.
Ayrıca bu yöntem ile mobilden giren kişileri de algılayıp mobil sitenize yönlendirilmesinde de kullanabilirsiniz.
6. Özel dizinleri Şifrelemek
Bu yöntem için öncelikle basit bir şifre dosyası oluşturmamız gerekiyor. Dosyanın içerisine her satıra bir kullanıcı ekleyebiliyoruz. Ve her satırda “isim:şifre” şeklinde kullanıcı adı ve şifreleri tanımlıyoruz.
Şifre dosyamızın adını .htpasswd yapıp .htaccess dosyamızda belirteceğmiz bir yere yerleştiriyoruz. Sonrasında bu bilgiler ile şifrelemek istediğimizin dizinin içerisine aşağıdakileri yazıyoruz.
7. İçeriklerin Başka Sitelerde Kullanılmasını Engellemek
Hotlink adıyla bilinen bu yöntem sayesinde sitenizde olan müzik, resim, video gibi içeriklerin başka sitelerde gösterilip, oynatılmasını engellemenizi sağlıyor. Bu sayede sunucunuzun bant genişliğinin başka siteler üzerinden harcanmasına engel oluyorsunuz.
Bu yöntemde başka siteden bizdeki bir resim görüntülenmek istendiğinde ona istenilen resim yerine bir hotlink uyarı resmi gösterebiliyoruz. Bunun çokça örneğini imageshack.us’da görmüşsünüzdür.
Farkettiyseniz yukarıda gösterdiğim yöntemlerin neredeyse hepsinde ilk “RewriteEngine on” komutu var. Eğer bu yöntemlerden bir kaçını birlikte kullanacaksanız tekrar tekrar bu satırı eklemenize gerek yok. Bunu sadece htaccess dosyanızın en başında bir kere yazmanız yeterlidir.
Diğer önemli husulardan birisi de birden fazla komut kullanırken işlemlerin sıralamasının öneminin olduğunu unutmayın. Yani eğer ilk önce 404 hata sayfası uyarı komutunu yazıp, alt satırına SEO dostu bağlantı komutlarını yazarsanız, önce 404 hata sayfa komutu tetiklenip ilgili yere gideceği için SEO dostu bağlantı yöntemi çalışmaz.
Parantez içlerinde kullanılan NC, L ve R harflerinin anlamları:
Diğer tüm ifadeler için buraya bakabilirsiniz.
Kaynak
Apache, GNU lisanslı yani açık kaynak kodlu, güçlü, sağlam, yetenekli ve esnek bir http (web) sunucusudur.
34,785 Okunma Henüz yorum yapılmamış 04/10/2011 09:52:34 19/09/2014 09:52:59
27,475 Okunma Henüz yorum yapılmamış 12/09/2009 17:47:07 02/04/2014 01:47:20
Apache web sunucusuna ulasan istek, bir dosya yerine klasore isaret ediyorsa asagidaki 3 islemdenbirisi yapilir :
25,165 Okunma Henüz yorum yapılmamış 26/06/2007 22:01:23 18/01/2015 20:26:52
Mod_rewrite’ı veya htaccess dosyaları ile yönlendirme yapmayı duymayan kalmamıştır
23,611 Okunma Henüz yorum yapılmamış 17/10/2007 23:11:09
This article will lead you through rewrite rules, regular expressions, and rewrite conditions, and provide a great list of examples.
22,141 Okunma Henüz yorum yapılmamış 09/08/2009 03:41:56
Bu bolumde, basit yapiya sahip bir apache web sunucusunu yonetmeyi,gerekli temel ayarlamalari yapmayi ogrenecegiz. Tum ayarlamalari www. Turk-php. Com alan adina gore yapacagiz. Bu nedenle kendi alan adinizi kullanirken herhangi bir problemle karsilasmadan, ayarlari kendinize uygun hale getirebileceksiniz
21,946 Okunma Henüz yorum yapılmamış 26/06/2007 00:52:04
Kullancağımız modül bkz. Mod_rewrite. Önceliklewww. Harmankaya. Org/goster. Php?id=5 gibi bir linki www. Harmankaya. Org/goster-3-yazi-basligi. Html gibi kafamdan bir örnek buluyorum ve başlıyorum. İlk işimiz . Htaccess dosyası kullanarak . Php dosyayı html olarak yorumlamayı göreceğiz bunun için /root altındaki . Htacces dosyasına ekleyeceğimiz kod
21,346 Okunma Henüz yorum yapılmamış 24/09/2008 05:47:20
İngilizce Redirectionslarla ilgili bir makale
20,841 Okunma Henüz yorum yapılmamış 15/08/2007 22:04:38
Bu dosyada Apache, httpd, ana sunucu birbirine eş anlamda kullanılmıştır.Kullanılan Türkçe terimlerin yanlarında, ilk sefere özel olarak İngilizce karşılıkları da verilmiştir. Ancak, Symbolic link, PID, Unix sistem çağrıları gibi temel kavramlar olduğu gibi bırakılmıştır.
20,397 Okunma 1 Yorum 26/06/2007 21:48:57 18/01/2015 20:40:22
Apache 2.x 'in Windows 7 üzerine kurulumu
19,190 Okunma Henüz yorum yapılmamış 24/10/2011 10:22:24
19,145 Okunma Henüz yorum yapılmamış 15/08/2007 00:26:20
Peter Freitag'in apache konfigürasyonunda yapılacak bazı düzenlemeler hakkındaki, Apache Security kitabından da alıntılar içeren önerileri. Not: Önerilerin bir garantisi yoktur. Sunucunuzu daha sıkı yapacaktır fakat bütün önerileri yaptıktan sonra sunucunuz %100 güvenli olacak diye bir garanti yok. Ayrıca önerilerin bazıları sizin ortamınızda performansı düşürebilir veya problemlere yol açabilir. Önerilen değişikliklerin ortamınıza uyup uymayacağına karar vermek size kalıyor.
19,067 Okunma Henüz yorum yapılmamış 26/06/2007 21:38:07 07/12/2014 23:16:16
Htaccess'in nerelerde kullanılabileceği hakkında hoş bir ingilizce makale
18,924 Okunma Henüz yorum yapılmamış 15/08/2007 21:57:19 18/01/2015 20:31:50
Herşeyden önce apache sunucusuna yönelik anlatacağım. Önümüzde 2 yol var: biri . Htaccess, evet şu ünlü htaccess hep kaçtığınız ama artık tamam pes dediğiniz olay; diğeri ise php. (cUrl gibi alternatifler de var ama benim bilgim dahilinde değil)…
18,575 Okunma 1 Yorum 14/08/2007 02:10:08
Wildcard DNS host servisiniz tarafından aktif edilmiş olmalıdır. Wildcard DNS *.alanadiniz.com şeklindeki bir altdomaindir ve bu domain site IP nize yönlendirilmiş olmalıdır.
16,373 Okunma 1 Yorum 24/11/2013 10:07:15 19/09/2014 10:09:00
Akıllı telefonların ve tabletlerin yaygınlaşması ile internetin mobil kullanımı büyük oranda arttı. İleride desktop ve laptopları tamamen bırakır mıyız bilmem ama mobil kullanımın giderek daha da artacağı aşikar gibi görünüyor.
15,576 Okunma Henüz yorum yapılmamış 14/10/2013 10:04:02 19/09/2014 10:04:25
Bazen hosting firmanız WildCARD DNS (*.domainadiniz.com) kullanmanıza izin vermez.
14,693 Okunma Henüz yorum yapılmamış 27/11/2013 01:53:06 27/11/2013 01:55:49
Apache konfigrasyon dosyaları için gerekli yönergeler
9,821 Okunma Henüz yorum yapılmamış 07/12/2014 23:24:44 18/01/2015 20:28:01