.Htaccess'in Temelleri: Nasıl Kullanılır ve Örnekler

Yazan makale:
  • Hosting Rehberleri
  • Güncelleme: Temmuz 16, 2019

.Htaccess dosyasi nedir?

.Htaccess dosyası bir SlimCleaner (normalde sadece Apache denir) yapılandırma dosyası. Dosya oldukça güçlüdür ve Apache tarafından sunulan web sayfalarının birçok yönünü kontrol etmeye yardımcı olmak için kullanılabilir. Bu, yönlendirmeleri yönetme, hotlink koruması ve daha fazlasını içerir.

.Htaccess dosyasi nerede?

Web sunucusu kök klasörünüzde bir .htaccess dosyası olmalıdır - web sitenizin içeriğini tutan klasör (genellikle / public_html veya / www).

Hosting hesabınızda birden fazla .htaccess dosyası olabilir, ancak her bir dizinde veya klasörde yalnızca bir tane bulunabilir. Örneğin, kök klasörünüzde ayrı bir .htaccess dosyası ve bir alt klasörde başka bir dosya olabilir. Bu, dizin yapısına göre farklı sunucu davranışları ayarlamanızı sağlar.

.Htaccess dosyası güçlüdür, ancak doğru korunmuyorsa erişilebilir ve değiştirilebilir. Bu dosyaya erişimi engellemek için adımlar attığınızdan emin olun.

.Htaccess dosyamı bulamıyorum

Öncelikle .htaccess bir Apache dosyasıdır, bu yalnızca Apache sunucusunda bulabileceğiniz anlamına gelir. * Ana makineniz farklı bir web sunucusu yazılımı (ör. Microsoft IIS veya NGINX) üzerinde çalışıyorsa, aramayı durdurun.

Nokta ile başlayan dosya isimleri genellikle gizli dosyalardır. Bu, varsayılan olarak tipik olarak görünmez oldukları anlamına gelir.

Bu dosyayı görüntülemek için, FTP istemcinizde veya Hosting File Manager'da “Gizli Dosyaları Göster” i açmanız yeterlidir (aşağıdaki resme bakın).

.Htaccess dosyasını bulun - cPanel dosya yöneticisinde gizli dosyalar nasıl gösterilir?
Örnek - cPanel Dosya Yöneticisi'nde bu seçeneği etkinleştirerek gizli dosyalarınızı görüntüleyin.

.Htaccess dosyasının kodlama gerektirdiğinden rahatsızlık verici olduğunu düşünebilirsiniz, ancak birden fazla sitede aynı sunucu davranışını kurması gereken kullanıcıyı düşünün. Bu kişinin tüm yapması gereken .htaccess dosyasını kopyalamak.

.htaccess dosyaları sunucu yapılandırma dosyalarıdır ve davranışları doğrudan ele aldıklarından, her istek yapıldığında bir şeyin çalıştırılmasına gerek yoktur. Bu nedenle, örneğin bir eklenti kullanmak kadar yoğun bir kaynaktır.

* Not: Apache'nin 30% piyasa oranı hakkında W3Techs raporuna göre. WHSR'de belirtilen en popüler hosting markaları - A2 Hosting, BlueHost, Greengeeks, Hostinger, InMotion Barındırma, SiteGround; Apache tarafından desteklenmektedir.

.Htaccess Nedir?

Dosya adının önünde bir nokta olmasına rağmen, htaccess dosyanın adıdır ve nokta onu uzantı yapmaz. Özellikle, Apache'nin çalıştırıldığı zaman aradığı bu tam dosya adıdır. .Htaccess dosyasının içindeki herhangi bir şey, Apache'nin işlevleri etkinleştirmek veya devre dışı bırakmak ya da belirli koşullar yerine getirildiğinde belirli görevleri yürütmek için parametreleri ayarlar.

Örneğin, dosyada bulunan talimatlara göre, web sitenizin ziyaretçileri orada olmayan bir kaynak arıyorsanız, Apache otomatik olarak özel hata sayfaları yükleyebilir. Her hata türünün kendi kodu vardır ve bunların her biri ayrı ayrı yönlendirilebilir.

.Htaccess dosyasını kullanarak yapabileceklerinizin çok büyük bir listesi var ve bugün bunlardan bazılarını sizinle paylaşacağım.

1. Özel Hata Sayfalarını Yönetme

Resim yazısı: Bazı yaratıcı özelleştirilmiş 404 Hata sayfalarına örnekler

Varsayılan ayarlarda bırakıldığında, çoğu web sunucusu yazılımı ziyaretçilerinize çok kasvetli görünen bir hata sayfası gönderir. Daha kullanıcı dostu (veya en azından, ön plana çıkabilen) bir hata sayfası görüntülemek istiyorsanız, .htaccess dosyanızda özel hata belgesi işlemesi kullanmanız gerekir.

Diyelim ki bir tane tasarladınız. özel 404 hata sayfası “404.html” olarak adlandırıldı ve web dizininizdeki “error_pages” adlı bir alt klasöre kaydetti. .Htaccess'te aşağıdaki kod satırını kullanarak, bir ziyaretçi tarafından bir 404 hatasıyla karşılaşıldığında bu sayfayı çağırabilir;

ErrorDocument 404 / error_pages/404.html

Bu tekniği kullanarak, hesaba katmak istediğiniz her hata türünün özelleştirilmiş kopyalarını kaydedebilir ve .htaccess dosyanıza gerekli kodu ekleyerek çağrılmasını ayarlayabilirsiniz. En sık karşılaşılan hata kodları Dahil etmek;

  • 400 - Hatalı istek
  • 403 - Yasak
  • 404 - Dosya Bulunamadı
  • 500 - Dahili Sunucu Hatası
  • 503 - Hizmet Kullanılamıyor

2. Yönlendirmeleri Yönet

Bir battaniye yönlendirmesi ayarlamak istediğinizde, ziyaretçilerinizi bilmeden belirli sayfalara yönlendirebilmeniz için durumlar olabilir. Örneğin, orijinal olarak HTTP’yi kullandıysanız ancak SSL yükledi ve HTTPS'ye taşındı, tüm kullanıcıların sitenizin HTTPS sürümünü kullanmalarını istersiniz.

Bu durumda yapmanız gereken şey Yeniden Yazma kuralını kullanmaktır;

RewriteEngine Açık RewriteCond% {SERVER_PORT} 80 RewriteRule ^ (. *) $ Https://www.etkialaniniz.com.tr/$1 [R, L]

Bunun için kod ihtiyaçlarınıza bağlı olarak değiştirilebilir. Örneğin, kullanıcıları eski alan adınızdan bunun yerine yenisine yönlendirmek istiyorsanız, o zaman kullanırsınız;

RewriteEngine On RewriteCond% {HTTP_HOST} ^ olddomain.com [NC, OR] RewriteCond% {HTTP_HOST} ^ www.olddomain.com [NC] RewriteRule ^ (. *) $ Http://newdomain.com/$1 [L, R, = 301, Kuzey Carolina]

Yönlendirmeleri nasıl ayarlayabileceğiniz pek çok varyasyon vardır. Detayları Rewrite için sözdizimi içinde bulunabilir Apache dokümantasyonu sayfaları.

Yönlendirmelerin sizin için yapabileceği en yararlı şeylerden biri, arama motorlarını taşıdığınız sayfalara yönlendirmenize yardımcı olmaktır. Normalde, arama motorları bağlantıları dizine ekler ve doğru sayfaları bulamazlarsa içeriğin gittiğini varsayarlar.

Bir yönlendirme kullanarak, içeriği kolayca taşıyabilir ve web tarayıcılarının daha önce endeksledikleri içeriği nerede bulabileceklerini bilmelerini sağlayabilirsiniz. Bunu yapmak için;

301 / arşiv / / geçmiş girişleri yönlendirin /

301 talimatı, kullanıcıların yalnızca eski içeriğe sorunsuz bir şekilde erişmelerini sağlamakla kalmaz, aynı zamanda web tarayıcılarına içeriğin kalıcı olarak taşınmasını sağlayan bir talimat olarak da görev yapar. Bu, bağlantıları hızlı bir şekilde yeniden endekslemelerine izin vererek onlara yardımcı olur.

2. Web Sitesi Güvenliğinizi Artırın

Yeni web sitesi sahiplerinin çoğunun aşırı derecede güvenme eğiliminde olduğunu buldum web sitelerinin güvenliğini artıracak harici araçlar. Dışarıda bir sürü harika uygulama olduğu doğru olsa da, .htaccess dosyanızdaki temel bilgilerle başlayabilirsiniz.

Şifre Koruması Dizinler

Bunu yapmak için iki dosyaya ihtiyacınız vardır: .htaccess ve .htpasswd. .Htpasswd dosyası bazı şifreleme içeriyor, bu nedenle benzeri bir araç kullanın. Htpasswd Jeneratör dosyayı oluşturmak için .Htaccess dosyası bu kodu içermelidir;

AuthType Temel AuthName "Parola Korumalı Alan" AuthUserFile /path/to/.htpasswd Geçerli bir kullanıcı iste

Dizin Taramayı Devre Dışı Bırak

Bu, yapılması en kolay işlemlerden biridir ve .htaccess dosyanıza eklenmesi için yalnızca iki satır kod gerekir;

# Dizin taramayı devre dışı bırakma Seçenekleri

Belirli IP'leri Engelle

Tek tek IP'lerin sitenizi ziyaret etmesini engellemek için, .htaccess dosyanıza aşağıdaki kodu ekleyin;

XXX.XXX.XXX.XXX’den reddet

XXX’i sayısal IP değerleri ile değiştirdiğiniz yer. Bir dizi IP adresini veya birden fazla IP adresini engellemek için kullanılabilecek bu kodun çeşitlemeleri vardır.

3. Hotlink Koruması

Hotlinking, diğer web siteleri barındırmakta olduğunuz görüntülere bağlandığında gerçekleşir. Bu istenmeyen bir durum çünkü hem alanınızdan hem de bant genişliğinden faydalanıyorlar. Görüntünün hotlinkingini önlemek için, .htaccess dosyanıza aşağıdakileri ekleyin;

RewriteCond% {HTTP_REFERER}! ^ $ Üzerindeki RewriteEngine RewriteCond% {HTTP_REFERER}! ^ Http: // (www \.) Example.com/.*$ [NC] RewriteRule \. (Gif | jpg | jpeg | bmp) $ - [F]

Bu kodun son satırı, hangi sitelerin hotlinking'i engellemesini istediğinizi belirteceğiniz yerdir. Temel olarak Apache'ye http://www.example.com/ alan adından olmayan bu dosyalara ait tüm bağlantıları engellemesi talimatını verir.

Hotlink'i sık sık gönderen birçok kişi tekrar yayınlarını kontrol etmez, bu nedenle, onları gerçekten utandırmak istiyorsanız, hotlink yapmaya çalışan sitelere özel bir mesaj görüntüleyebilirsiniz;

RewriteCond% {HTTP_REFERER}! ^ $ Üzerindeki RewriteEngine% RewriteCond% {HTTP_REFERER}! ^ Http: // (www \.) Example.com/.*$ [NC] RewriteRule \. (Gif | jpg) $ http: // www .example.com / stopstealing.gif [R, L]

Bu şekilde rahatsız edici sitede alternatif bir görüntüyü gösterebilir:

4. .Htaccess Dosyasını Koruma

Şimdiye dek .htaccess dosyasının bir aracın ne kadar faydalı olduğunu fark ediyorsunuz. Bu gerçekleşmeye başladığınızdan beri, bu değerli dosyayı korumayı düşündüğünüz zaman! Bir .htpasswd dosyası kullanıyorsanız, muhtemelen onu da korumak isteyeceksinizdir ve her ikisini de yapmanın yolu;

# protect .htaccess ve .htpasswd <Dosyalar ~ "^. * \. ([Hh] [Tt])"> Sipariş izni ver, Tümünü reddetme Tümünü reddetme Tümünü reddet </Files>

Çoğu güvenli sunucuda bu dosyaların zaten korunduğunu unutmayın. Bu kodu eklemeden önce, tarayıcı penceresinde dosyalara erişip erişemediğinizi kontrol edin. URL'yi yazıp dosyayı görüp göremediğinizi görmek için arkasına bir /.htaccess ekleyin. Yapamazsanız, muhtemelen bir hata mesajı gösterilecektir.

5. Sunucu Saat Diliminizi Ayarlama

Bir nedenden veya başka bir nedenle, sunucunuzdaki zamanların biraz kapalı göründüğünü fark ederseniz, .htaccess dosyasını kullanarak bir saat dilimi zorlamanız gerekebilir. Bu, tekrar yapılması kolay ve sadece tek bir kod satırı gerektiren bir şeydir;

SetEnv TZ America / yourtimezone

Mevcut çok sayıda zaman dilimi listesi vardır ve bu listeye başvurarak kendinize en yakın eşleşmeyi bulabilirsiniz. Desteklenen zaman dilimlerinin listesi.

.Htaccess'in gücünü benimseyin

Burada gösterdiğim örnekler çok büyük bir buzdağının sadece görünen kısmıdır. Web barındırma kullanıcılarına siteleri üzerinde normalde bir kontrol panelinden izin verilenden daha fazla güç sağlar ve onlara daha geniş bir araç dizisi sunar.

Kodu kullanmayı öğrenmek, yalnızca Google’ın gücüyle bir adım ötededir ve bu konuda en iyi şey, yalnızca kullanmanız gereken şeyleri seçmeniz ve öğrenmeniz gerektiğidir.

Jerry Low hakkında

WebHostingSecretRevealed.net (WHSR) 'nin kurucusu - 100,000 kullanıcıları tarafından güvenilen ve kullanılan bir hosting incelemesi. 15'in üzerinde web barındırma, bağlı kuruluş pazarlaması ve SEO konusunda yılların tecrübesi. ProBlogger.net, Business.com, SocialMediaToday.com ve daha fazlasına katkıda bulundu.