Yeni Başlayanlar için .htaccess Kılavuzu

Yayınlanan: 2023-10-25

.htaccess – web sitesi sahibi olan herkesin ara sıra duyduğu korkutucu kelime. İsmin kendisi anlaşılamayacak kadar teknikmiş gibi görünse de, cephanenizde bulunması gereken güçlü bir araçtır. .htaccess'i, nasıl çalıştığını ve olası kullanım durumlarını anladığınızda, onunla zahmetsizce yapabileceğiniz fazlasıyla şey vardır. Gelin, ne olduğuna, onu kendi yararınıza nasıl kullanabileceğinize bakalım ve .htaccess'in en yaygın kullanımlarına ilişkin en faydalı örnekleri ve açıklamaları alalım!

.htaccess nedir?

“Köprü metni erişimi”nin kısaltması olan .htaccess, Apache Web Sunucusu yazılımını kontrol etmenize yardımcı olabilecek bir yapılandırma dosyasıdır. .htaccess dosyasını oluşturabilir ve onu dizine ekleyebilirsiniz, böylece bu dosya Apache Web Sunucusu tarafından yüklenecek ve daha sonra çalıştırılacaktır.

Basitçe söylemek gerekirse, bu dosyayı Web Sunucusunun sunduğu herhangi bir işlevi etkinleştirmek veya devre dışı bırakmak için kullanabilirsiniz. .htaccess ile çalışmanın temel yönlendirmeden sıcak bağlantı engellemeye kadar pek çok faydası vardır.

.htaccess dosyası neye benziyor?

.htaccess dosyası sizin yaptığınız şeydir. Dosyanın amacına bağlı olarak yalnızca bir satır veya birden fazla satır içerebilir. Pek çok şeyi yapmak için dosyaya yazabileceğiniz pek çok şey var; bazı örnekleri okudukça bulacaksınız.

Zaten bir tane var mı?

Çoğu durumda, bir web siteniz varsa, muhtemelen zaten bir .htaccess dosyanız vardır. Genellikle web sitenizin kök klasöründe bulabilirsiniz. Web sitenizin tüm içeriğinin bulunduğu klasöre gidin ve Public_HTML klasörünü veya www adlı klasörü arayın. Birden fazla site için alt dizininiz varsa, her alt dizinde bir tane bulacaksınız.

Eğer bulmayı başaramazsanız endişelenmeyin. Bu, ona sahip olmadığınız anlamına gelmez; sadece gizlenmiş olabilir. Bu genellikle tıpkı .htaccess'te olduğu gibi noktayla başlayan dosyalarda geçerlidir. Varsayılan olarak fark edilmeleri genellikle kolay değildir.

Dosya Yöneticinize veya FTP istemcinize gidin ve "gizli dosyaları göster" seçeneğini arayın. Hiçbir seçeneği, özellikle de “Tercihler”, “Ayarlar” veya “Seçenekler”i çevirmeden bırakmayın.

Görünüşe göre bende yok.

Yine de sorun yok çünkü zahmetsizce bir tane yaratabilirsiniz. İhtiyacınız olan şey normal bir metin editörü ve detaylara dikkat eden bir bakış açısıdır. Örneğin Microsoft WordPad'i veya TextPad'i kullanabilirsiniz. Ancak işin zor kısmı, .htaccess dosyanızı doğru şekilde adlandırıp kaydettiğinizden emin olmaktır.

Öncelikle onu uygun formatta kaydetmeniz gerekir. ASCII formatında olmalıdır, bu nedenle onu UTF-8 veya başka bir formatta kaydetme isteğine karşı koyun.

İkinci olarak .htaccess olarak adlandırıldığından emin olun. Bu oldukça basit gibi görünüyor, ancak aslında ayrıntıya dikkat etme yeteneğinin devreye girdiği yer burasıdır. Noktayı başlangıçta tuttuğunuzdan emin olmak istersiniz. Bir sonraki adım, herhangi bir dosya uzantısı eklemediğinizden emin olmaktır. Bunu “htaccess.txt” olarak kaydetmek bitiş çizgisine ulaşmayacaktır. Noktayı ekleyin ve uzantıyı kaldırın!

Son olarak, onu uygun dizine yüklemek istiyorsunuz. Kılavuza geri dönüp onu yukarıda belirtilen dizinlerden birine kaydedebilirsiniz. Bunu yapmak için FTP'yi veya sizin için uygun olan herhangi bir tarayıcı tabanlı dosya yöneticisini kullanabilirsiniz.

.htaccess ile ne yapabilirim?

.htaccess ve biraz bilgi birikimiyle başarabileceğiniz birçok şey var. Bunlardan bazıları:

Hataları Ele Alma

.htaccess ile yapabileceğiniz ilk ve en basit şeylerden biri, ziyaretçilerinizin korkutucu mesaj yerine anlaşılır ve özel bir hata mesajı görmesini sağlamaktır.

Yapmak istediğiniz ilk önce bir HTML belgesi oluşturmaktır. Hata açıklamasını içermesi önerilir; örneğin 404 hataları için “Bulunamadı” veya 502 hataları için “Kötü Ağ Geçidi”. Gerçek şu ki, istediğiniz içeriği görüntüleyebilirsiniz.

Ayrıca hangi belge olduğunu bilmeniz için onu doğru şekilde adlandırdığınızdan emin olmalısınız. 404 hatasıyla karşılaşıyorsanız, bunu kaydetmenin yaygın yolu 404.html'dir. Ayrıca onu, tüm hata belgelerini barındırması gereken error_pages dizinine de kaydetmek istiyorsunuz.

Hazır olduğunuzda, .htaccess dosyanızı tercih ettiğiniz düzenleyicide açmalı ve şunun gibi bir şey yazmalısınız:

ErrorDocument 404 /error_pages/404.html

Bu satır, web sitenizin sunucusuna, 404 hatası oluştuğunda belirlenen belgeyi görüntülemesini söyleyecektir. Ziyaretçilerinizin normalde alacakları aşırı basit ve genel mesajdan dolayı hayal kırıklığına uğramamalarını sağlamak için bu işlemi istediğiniz hata belgeleriyle tekrarlayabilirsiniz.

Basit Yönlendirmeler

WordPress'in bunu sizin için yapacak birçok eklentisi olsa da, .htaccess dosyasını kullanarak ziyaretçilerinizi de yönlendirebilirsiniz. Ziyaretçilerinizi istedikleri sayfa yerine belirttiğiniz sayfaya yönlendirmek başka bir basit görevdir. Dosyaya başka bir satır girerek ziyaretçilerinizi ister web sitenizin içinde başka bir yere, hatta başka bir web sitesine yönlendirebilirsiniz.

Bunları yeniden yönlendirmek için .htaccess dosyasına ekleyebileceğiniz şeylerin bir örneğini burada bulabilirsiniz. Elbette ihtiyaçlarınıza uyacak şekilde biraz düzenlemelisiniz.

/eski_dir/ http://www.alanadiniz.com/yeni_dir/index.html adresini yönlendir

Ziyaretçilerinizin istediğiniz yere ulaşmasını sağlamak için bunu nasıl özelleştireceğinizi bilmeniz için bunu açıklayalım.

İlk olarak, /eski_dir/ ne olurdu? Alan adınız altında bulunan bir dizin veya belgedir veya daha doğrusu 'http://www.alanadiniz.com/eski_dir/' adresinde bulunur. Ziyaretçilerinizin erişmeye çalışacağı nokta burasıdır. Dosyanın geri kalanı bunun yerine nereye gitmeleri gerektiğini belirtir. Bu durumda, web sitenizdeki /new_dir/ dizininin indeks sayfasında yer alacaklardır.

Gördüğünüz gibi, başlangıç ​​noktasından farklı olarak kullanıcılarınızın ulaşmasını istediğiniz sayfa tam URL'dir. Bu, başka bir alana yönlendirme yaparken yardımcı olur; çünkü herhangi bir URL'yi kullanabilir ve örnekteki URL'nin yerine onu ekleyebilirsiniz. Çocuk oyuncağı değil mi?

Şifre Koruması

Web siteniz etrafında bir topluluk oluşturmak istiyorsanız, bir üye alanı sunmak ve ziyaretçilerin oturum açmasını sağlamak tam bir hile olabilir. Topluluk, pazarlama çabalarınız ve satışlarınız açısından yapılacak harika bir şey olsa da, kullanıcılarınızın kim olduğu konusunda fikir edinmenize ve müşterileriniz hakkında en çok ihtiyaç duyulan bilgilerin toplanmasına da yardımcı olabilir.

GDPR ile uyumlu olduğunuz sürece, topladığınız bilgilere göre teklifinizi düzenlemek ve sonunda daha fazla satış yapmak için bu harika numarayı kullanabilirsiniz!

Şifre koruması nasıl yapılır?

Web sitenizdeki herhangi bir şeye şifre ekleme fırsatı, .htaccess dosyalarını kullanmanın en yaygın yoludur. Bunu yapmak da oldukça basittir ve yine de bir veya birkaç dizini parolayla koruyabilirsiniz. Bu, kullanıcıların erişim için geçerli bir kullanıcı adı ve parolaya sahip olmalarını sağlayacaktır; bu, çeşitli durumlarda oldukça yararlı olabilir.

Dizinler için şifre koruması ayarlarsanız, oturum açma prosedürü oldukça basit olacaktır ve web tarayıcınız bunu otomatik olarak gerçekleştirecektir. Bir tarayıcının açılır arayüzü olarak görünecektir. Parolalar da şifrelendiğinden oturum açma kimlik bilgileri de güvenli olacaktır.

Hangi dizini parolayla korumak istediğinizi biliyorsanız devam edin ve bir .htaccess dosyası oluşturun. Lütfen tüm alt dizinlerin de parola korumalı olacağını unutmayın! Aynı kurallar burada da geçerlidir ancak aşağıdakileri eklemek isteyebilirsiniz:

AuthName “Üye Adı”

AuthUserFile /yol/giden/şifre/dosya/.htpasswd

AuthType Temel

geçerli kullanıcı gerektirir

Gerektiğinde nasıl değiştireceğinizi bilmeniz için bunu parçalara ayıralım. İlk satırda bu .htaccess dosyası, korumak istediğiniz dizinin adını belirtir. Bu durumda “Üye Adı” dizini, ancak bunu şifre altında olması gereken dizinin adına uyacak şekilde değiştirmelisiniz.

İkinci satır, parola dosyasını veya daha doğrusu sunucunun parola dosyasını nerede bulabileceğini belirtir. Üçüncüsü kullandığınız yetkilendirme türüdür. Örnekte, temel HTTP kimlik doğrulamasını temsil eden bir temeldir.

Son satır, oturum açma gerekliliklerini ifade eder. Bu örnekte geçerli oturum açma kimlik bilgileri gerekiyor. Neyi parolayla korumaya çalıştığınıza bağlı olarak, neyin geçerli olması gerektiğini burada belirleyebilirsiniz.

Şifre Dosyası

Şimdi şifre dosyasını bulmanız gerekiyor. Web sunucunuzun herhangi bir yerinde bulunabilmesine rağmen, şifre dosyasının .htaccess dosyasıyla aynı dizinde bulunması önerilir. Bunun nedeni, bazı sunucuların bunun kurulmasını gerektirmesidir. İkinci satırda, içinde parola dosyasının bulunduğu dizinin tam yolunu kullanmalısınız.

Tabii bu aynı zamanda şifre dosyasının hazır olması gerektiği anlamına da geliyor. Örnekte adı .htpasswd'dir, ancak siz ona istediğiniz herhangi bir ad verebilirsiniz. Yine de aynı adı verirseniz, iyi haber şu ki sunucu bu dosya adını tanıyacak ve onu ziyaretçilerden otomatik olarak gizleyecektir. Şifre dosyası aşağıdaki satırlarda bir şeyler içermelidir:

kullanıcı adı:şifrelişifre

john_smith:oCF9Pam/MXJg2

Ziyaretçilerin Erişimini Reddet

Web sitelerinde bile istenmeyen kişiler vardır. Doğru .htaccess dosyasıyla birinin erişimini sınırlandırabilirsiniz. Veya diğer yandan, belirli bir ziyaretçiye özel erişime izin verin. İlki, web sitenizi korumak istiyorsanız oldukça kullanışlıdır ve ikincisi, sitenizin belirli bir yönü üzerinde tam kontrole sahip olmak istiyorsanız mükemmeldir.

Ziyaretçilerin erişimini iki şekilde reddedebilirsiniz. Ziyaretçilerinizin IP adresine göre erişimini engelleyin veya yönlendirene göre seçim yapabilirsiniz.

IP ile reddetme

Bir miktar IP'yi kara listeye almak istiyorsanız, .htaccess dosyanızdan biraz yardım alarak bunu zahmetsizce yapabilirsiniz. Aynı kuralları izleyerek yeni bir tane oluşturun ve ardından aşağıdaki metni ekleyin.

sipariş izin ver, reddet

XXX.XXX'ten reddet

XXX.XX.X'ten reddet.

hepsinden izin ver

Elbette X'leri engellemek istediğiniz IP adresiyle değiştirmelisiniz. İhtiyaç duyduğunuz kadar ekleyin; bu dosya Web Sunucusunun bu IP adreslerinin sitenizde hoş karşılanmadığını bilmesini sağlayacaktır. Bu satır, diğer ziyaretçilerin web sitenize memnuniyetle karşılanacağını ifade ettiği için, herkesten izin ver'i eklediğinizden emin olun.

Öte yandan, erişime sahip tek kişi olmak istiyorsanız bunun yerine aşağıdaki metni eklemelisiniz:

sipariş izin ver, reddet

XXX.0.0.0'dan itibaren izin ver

herkesten inkar et

Elbette X'leri kendi IP adresinizle değiştirmelisiniz. Bu, sunucuya belirli bir noktaya yalnızca sizin erişebilmeniz gerektiğini söyleyecektir.

Yönlendiren tarafından reddedilme

Günlüklerinize baktığınızda şüpheli etkinlik fark ediyorsunuz. Neden yönlendireni kara listeye eklemiyorsunuz ve endişenizi ortadan kaldırmıyorsunuz? İşte bunu .htaccess ile nasıl yapabileceğiniz.

Dosyayı normalde yaptığınız gibi oluşturun. Giriş şu şekilde görünmelidir:

Yeniden Yazma Motoru açık

# Seçenekler +Sembolik Bağlantıları Takip Et

RewriteCond %{HTTP_REFERER} otherdomain\.com [NC]

Yeniden Yazma Kuralı .* – [F]

Bu işe yarayacaktır! Ancak sunucunuzda 'mod_rewrite'ın etkin olup olmadığını kontrol etmelisiniz, çünkü kaynaklara oldukça büyük bir talep getirebileceği için devre dışı bırakılmış olabilir. Eğer öyleyse, barındırma sağlayıcınızla kontrol etmelisiniz.

Temelde, bu satırlar sunucuya diğeralan\.com'dan hiç kimsenin web sitenize kabul edilmediğini bildirir. Elbette bunun yerine uygun alan adını buraya eklemelisiniz. Sondaki '[NC]' kısmı da çok önemlidir, çünkü sağladığınız alan adının büyük/küçük harfe duyarlı olmadığını bildirir. Bu, “OtherDomain”in de yasak olduğu anlamına gelir.

Birden fazla sorun çıkaranı engellemek istiyorsanız bunun yerine '[NC,OR]' ekleyin ve ardından aynı şekilde bir tane daha ekleyin:

RewriteCond %{HTTP_REFERER} başka bir alan\.com

Mutlu olana kadar bunu yapmaya devam edebilirsiniz ancak sonuncusu hariç her birinin sonuna '[NC,OR]' eklemeyi unutmayın.

Kötü Botların web sitenizi taramasını önleme

.htaccess kullanmanın bir başka mükemmel nedeni de web sitenizdeki tarayıcıları engellemektir. Çevrimdışı gezinmek için tüm içeriği indiren zararsız olanlar varken, kötü niyetli olanlar da var. Yani internet, spam e-postaları, güvenlik açıklarını doldurmak veya yalnızca içerik kaynağı yapmak için e-posta adresleri arayan kötü botlarla doludur.

Bu önceki örneklere göre biraz daha gelişmiş olsa da kesinlikle denemelisiniz. Bu kötü botların size herhangi bir zarar vermesini önlemek şu ya da bu şekilde bir zorunluluktur.

Önceki örneklerde yaptığınız gibi başka bir .htaccess dosyası oluşturmanız yeterlidir. İçine yazmanız gerekenler şuna benzer:

Yeniden Yazma Motoru Açık

RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]

RewriteCond %{HTTP_USER_AGENT} ^SuperBot

Yeniden Yazma Kuralı ^.* – [F,L]

Gerçek şu ki, listenin çok daha uzun olması gerekiyor çünkü tüm tanınmış yarasa botlarını içermesi gerekiyor. Böyle bir listeyi burada bulabilirsiniz. Bunlardan ne kadar fazlasını dahil ederseniz o kadar iyi olur.

Yine de yeniden adlandırdığınızdan emin olun; BlackWidow veya SuperBot yerine botun adını kullanın. Her birinin sonuna her zaman [OR] ekleyin, ancak bunu sonuncuyla birlikte kullanmadığınızdan emin olun. İşte! Web siteniz tüm bu kötü niyetli tarayıcılardan arınmış!

Daha fazla var mı?

Elbette var. Söylendiği gibi sonuçta bu bir başlangıç ​​kılavuzu. .htaccess dosyalarıyla yapabileceğiniz birçok ek şey vardır.

Örneğin, sunucunun saat dilimini ayarlamak veya imzasını değiştirmek için .htaccess dosyalarını kullanabilirsiniz. Web siteniz ağırlıklı olarak medyaya dayanıyorsa, bunu tüm medya dosyalarının oynatılmak yerine indirildiğinden emin olmak için kullanabilirsiniz. Veya geçersiz karakterler içeren istekleri ve çok daha fazlasını önlemek için bunu kullanabilirsiniz.

.htaccess'i hecelemeye çalışmak bile sorun olsa da, gördüğünüz gibi bir tane kullanmak çocuk oyuncağı, üstelik onunla çok şey başarabilirsiniz!

Dosyanızı oluştururken ve düzenlerken aklınızda bulundurmanız gereken şey, herhangi bir değişiklik yaptıktan sonra onu yayına sokmadan önce kapsamlı bir şekilde test etmektir. Kullanıcılarınıza 500 dahili sunucu hatası vermek istemezsiniz değil mi?

Son tavsiye

Bir şey düzgün çalışmasa bile aşırı derecede sinirlenmeyin. Yazım hatalarını kontrol edin; bu genellikle işe yarar! Olmazsa destek forumlarına bakın!