.htaccess (hypertext access) dosyası, bir web sunucusunun çeşitli isteklere nasıl yanıt vereceğini kontrol eden bir yapılandırma dosyasıdır. Bu, sunucuyu yalnızca .htaccess dosyasının bulunduğu dizinde yapılandırdığı anlamına gelir. Çoğu ticari web barındırma sağlayıcısı tarafından kullanılan popüler Apache web sunucusu da dahil olmak üzere birkaç web sunucusu tarafından desteklenir.
.htaccess dosyası, belirli bir dizin için sunucu yapılandırmalarını ayarlamanıza olanak tanır. Bu, web sitenizin kök dizini, /images veya /downloads dizini olabilir.
.htaccess, Apache web sunucusunda çalışır ve web sunucusunun davranışını yönlendirmek için kullanılır. .htaccess dosyası, belirli klasörlerde veya belirli bir siteye özgü ayarları tanımlamanıza olanak tanır.
Bir istemci bir URL’ye erişmeye çalıştığında, Apache web sunucusu önce o URL ile ilişkili .htaccess dosyasını arar. Eğer bulunursa, .htaccess dosyasındaki yönergeleri okur ve belirtilen işlemleri gerçekleştirir.
.htaccess dosyasında yer alan yönergeler, Apache’nin mod_rewrite modülü tarafından yorumlanır. Bu modül, URL yeniden yazma (rewriting) gibi işlemleri gerçekleştirmek için kullanılır. Örneğin, bir URL’yi yeniden yönlendirmek veya URL’leri yeniden formatlamak gibi işlemler mod_rewrite ile sağlanır.
.htaccess dosyası ayrıca diğer ayarları da içerebilir, örneğin klasörlerin erişim izinlerini belirlemek, hata sayfalarını özelleştirmek, dosya türlerini sınırlamak veya sıkıştırma gibi performans iyileştirmeleri yapmak gibi.
.htaccess dosyasının doğru çalışabilmesi için, web sunucusunda AllowOverride direktifi etkinleştirilmelidir. Bu, .htaccess dosyasının kullanılmasına izin verir ve yapılandırma değişikliklerinin etkili olmasını sağlar.
Genel olarak, .htaccess dosyası Apache web sunucusunda kullanıcıya esneklik sağlar ve web sitelerinin davranışını ve yapılandırmasını özelleştirmek için güçlü bir araçtır. Ancak, dikkatli kullanılmalı ve hatalardan kaçınmak için yapılan değişiklikler önceden test edilmelidir.
.htaccess dosyasına erişmek için aşağıdaki adımları izleyebilirsiniz:
Not: .htaccess dosyası, web sunucusunun yapılandırmasıyla ilgili önemli ayarları içerdiği için düzenlemeler yapmadan önce dikkatli olunması önemlidir. Yanlış yapılandırılmış bir .htaccess dosyası, web sitesinin düzgün çalışmasını engelleyebilir. Bu nedenle, değişiklikler yapmadan önce orijinal dosyayı yedeklemek ve her zaman değişikliklerin doğru çalıştığını doğrulamak önemlidir.
.htaccess dosyası, web sunucusu yapılandırmasını ve yönlendirmelerini kontrol etmek için kullanılan bir dosyadır. Aşağıda, .htaccess dosyasının yaygın kullanım alanlarından bazıları bulunmaktadır:
Birden fazla .htaccess dosyasını kullanmak için aşağıdaki adımları izleyebilirsiniz:
Not: Birden fazla .htaccess dosyası kullanmak, sunucunuzun performansını etkileyebilir. Çok sayıda .htaccess dosyası kullanmak yerine, mümkünse tek bir .htaccess dosyasında tüm yönergeleri birleştirmeyi tercih etmelisiniz.
.htaccess dosyasını düzenlemek için aşağıdaki adımları takip edebilirsiniz:
Not: .htaccess dosyasını düzenlerken dikkatli olun ve doğru yapılandırmaları yapmaya özen gösterin. Yanlış bir yapılandırma, web sitesinin doğru çalışmamasına veya hatalara neden olabilir. Değişiklikler yapmadan önce orijinal .htaccess dosyasını yedeklemeniz de önerilir.
.htaccess dosyası ile URL’leri yeniden yönlendirmek için aşağıdaki adımları izleyebilirsiniz:
"RewriteEngine On"
"RewriteRule ^eski-url$ /yeni-url [R=301,L]"
Yukarıdaki örnekte, “/eski-url” isteği “/yeni-url” adresine yönlendirilir. [R=301,L]
parametreleri, 301 yönlendirme kodunu ve işlemi sonlandırma komutunu belirtir.
Not: .htaccess dosyasını düzenlerken dikkatli olun ve doğru kuralları uygulayın. Yanlış yapılandırmalar web sitesinin doğru çalışmamasına veya hatalara neden olabilir. Değişiklikler yapmadan önce orijinal .htaccess dosyasını yedeklemeniz de önerilir.
.htaccess dosyası ile URL’leri yeniden yazmak için aşağıdaki adımları takip edebilirsiniz:
RewriteEngine On
RewriteRule ^eski-url$ yeni-url [L]
Yukarıdaki örnekte, “/eski-url” isteği “/yeni-url” adresine dönüştürülür. [L]
parametresi, işlemin sonlandırılmasını belirtir.
Not: .htaccess dosyasını düzenlerken dikkatli olun ve doğru kuralları uygulayın. Yanlış yapılandırmalar web sitesinin doğru çalışmamasına veya hatalara neden olabilir. Değişiklikler yapmadan önce orijinal .htaccess dosyasını yedeklemeniz de önerilir.
.htaccess dosyası üzerinden tek bir sayfa için 301 yönlendirmesi yapmak için aşağıdaki adımları izleyebilirsiniz:
Redirect 301 /eski-sayfa /yeni-sayfa
Yukarıdaki kod, “/eski-sayfa” adresine gelen istekleri “/yeni-sayfa” adresine yönlendirecektir. 301
kodu, kalıcı bir yönlendirme olduğunu belirtir.
Bu şekilde, belirtilen sayfa için 301 yönlendirmesi yapılmış olacaktır. Artık “/eski-sayfa” adresine gelen istekler otomatik olarak “/yeni-sayfa” adresine yönlendirilecektir.
.htaccess dosyası üzerinden özel bir 404 hata sayfası oluşturmak için aşağıdaki adımları izleyebilirsiniz:
ErrorDocument 404 /ozel-404.html
Yukarıdaki kod, bir 404 hata durumunda sunucunun “/ozel-404.html” dosyasını göndererek özel bir 404 hata sayfası olarak kullanmasını sağlar.
Bu şekilde, bir kullanıcı yanlış bir URL’ye eriştiğinde veya bir sayfa bulunamadığında sunucu, özel 404 hata sayfasını gösterecektir. Artık kullanıcılar bu sayfayı görüntüleyecek ve standart 404 hata sayfası yerine sizin belirlediğiniz özel sayfayı görecekler.
HTTPS’yi .htaccess dosyası ile yönlendirmek için aşağıdaki adımları izleyebilirsiniz:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Bu kod, HTTPS’ye yönlendirme yapacak olan yönlendirme kurallarını belirtir. Kural, eğer bağlantı HTTPS değilse, tüm URL’yi HTTPS’ye yönlendirir.
Artık kullanıcılar web sitesine eriştiğinde, .htaccess dosyasında belirtilen kurallar uygulanacak ve HTTP bağlantıları otomatik olarak HTTPS’ye yönlendirilecektir. Bu sayede web sitesi güvenli bir bağlantı üzerinden erişilecektir.
.htaccess dosyası kullanarak hotlink koruması sağlamak için aşağıdaki adımları izleyebilirsiniz:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
Bu kod, sadece belirli bir domain dışından gelen istekleri engelleyerek hotlink koruması sağlar. yourdomain.com
kısmını kendi alan adınızla değiştirmeniz gerekmektedir.
Artık başka sitelerden gelen isteklerdeki görüntü dosyaları (jpg, jpeg, png, gif) engellenecek ve sadece kendi web sitenizden gelen isteklerin bu dosyalara erişimine izin verilecektir. Bu şekilde, diğer sitelerin içeriklerinizi hotlink yapmasını engelleyebilirsiniz.
Dosya erişiminin tarayıcı üzerinden etkinleştirilmesi için aşağıdaki adımları takip edebilirsiniz:
<FilesMatch "\.(pdf|docx|xlsx|pptx)$">
Header set Content-Disposition "inline"
</FilesMatch>
Bu kod, .pdf, .docx, .xlsx ve .pptx uzantılı dosyalar için tarayıcı üzerinden erişimi etkinleştirir. İsteğe bağlı olarak, bu uzantıları kendi gereksinimlerinize göre düzenleyebilirsiniz.
Artık belirtilen uzantılara sahip dosyalar tarayıcı üzerinden erişilebilir hale gelecektir. Bu sayede, kullanıcılar web tarayıcılarında dosyaları doğrudan görüntüleyebilecek veya indirebilecektir.
Dosya uzantılarını kaldırmak için .htaccess dosyasında aşağıdaki kodu kullanabilirsiniz:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html [NC,L]
Bu kod, sunucuya gelen isteklerdeki “.html” uzantısını kaldırır ve dosyayı uzantısız şekilde sunar. Örneğin, “example.com/contact.html” isteği “example.com/contact” şeklinde sunulur.
Not: Bu yöntem, sunucunuzda mod_rewrite eklentisinin etkin olması gerektiğini unutmayın. Ayrıca, .htaccess dosyasını düzenlerken dikkatli olun ve yedeklemesini alın, böylece hata durumunda orijinal dosyayı geri yükleyebilirsiniz.
Tek bir dosyayı parola ile korumak için .htaccess dosyasında aşağıdaki yönergeleri izleyebilirsiniz:
AuthType Basic
AuthName "Parola Koruması"
AuthUserFile /path/to/.htpasswd
Require valid-user
Yukarıdaki kodu .htaccess dosyasına ekleyin veya düzenleyin. “AuthUserFile” satırında /path/to/.htpasswd
bölümünü korumak istediğiniz dosyanın gerçek yoluna değiştirin.
username:encrypted_password
.htpasswd dosyasını oluşturun ve kullanıcı adını ve şifresini belirtin. Şifreyi şifreleme algoritmasıyla şifreleyin. Örneğin, username
kullanıcı adını ve encrypted_password
şifrelenmiş şifreyi belirtin.
Bu adımları takip ederek belirli bir dosyayı parola ile koruyabilirsiniz.
Henüz yapmadıysanız, önce metin düzenleyicinizi açın ve .htaccess adlı bir dosya oluşturun. Aşağıdaki satırları .htaccess dosyasına ekleyin; burada MYFILE.html, korumak istediğiniz dosyanın adı ve APPNAME, uygulamanızın adıdır.
<Files MYFILE.html>
AuthType Basic
AuthName “Authentication Required”
AuthUserFile /srv/users/SYSUSER/apps/APPNAME/public/.htpasswd
Require valid-user
</Files>
Zaten bir .htpasswd dosyası oluşturduysanız, sonraki adıma geçin.
Oluşturmadıysanız, uygulamanın ait olduğu sistem kullanıcısı olarak sunucunuza SSH ekleyin. .Htpasswd dosyanızı oluşturmak için APPNAME yerine uygulamanızın adını yazarak aşağıdaki komutu çalıştırın.)
touch ~/apps/APPNAME/public/.htpasswd
Şimdi, bir kullanıcı adı ve parola eklemek veya değiştirmek için htpasswd-sp komutunu kullanın. (Adınızın yerine herhangi bir kullanıcı adı koyabilirsiniz).
htpasswd-sp ~/apps/APPNAME/public/.htpasswd yourname
Yeni şifreyi eklemek için komut satırındaki istemleri izleyin.
Dosyayı tarayıcınız üzerinden ziyaret ettiğinizde, şimdi bir kullanıcı adı ve şifre girmeniz istenecektir.
Yukarıda sizinle .htaccess’in ne olduğunu, ne işe yaradığını, kullanımlarını vb. .htaccess ile ilgili merak edebileceğiniz birçok şeyi paylaştık. .htaccess ile ilgili merak ettiğiniz farklı şeyler varsa, yorum bölümünde bize yazın. İçeriğimizi geliştirmek için deneyimlerinizi ve önerilerinizi paylaşmayı unutmayın.
İlginizi Çekebilir
Günümüzde dijital dünyada fark yaratmak isteyen her işletme için güçlü bir web varlığı olmazsa olmaz. Bu bağlamda, Windows...
Devamını OkuGünümüzde siber güvenlik, dijital yaşamımızın vazgeçilmez bir parçası haline gelmiştir. Özellikle fidye yazılımlar, bireylerin ve şirketlerin verilerini rehin...
Devamını OkuBlog yazınızda, özgün başlık seçiminden profesyonel görsel kullanıma kadar etkili SEO stratejilerini ve kullanıcı deneyimini nasıl iyileştireceğinizi keşfedin.E-ticaret...
Devamını OkuMuhasebe süreçlerinin güvenliği, veri bütünlüğü ve sürekliliği, işletmeler için olmazsa olmaz kriterler arasındadır. Bu nedenle, muhasebe verilerinizi yönetirken...
Devamını OkuWeb siteniz için en iyi hosting firmasını seçerken dikkat etmeniz gereken konuları öğrenin: kontrol paneli, müşteri desteği, fiyatlandırma...
Devamını OkuGoogle Analytics'in ne olduğunu, nasıl kurulacağını, veri analizi ve raporlama araçlarını anlatan detaylı rehber. Veri inceleme ipuçları.Blog Giriş...
Devamını Oku