Htaccess Dosyası Nedir
Htaccess Web sitesi davranışını ve güvenliğini kontrol etmek için kullanılır.
.htaccess ayrıca Hypertext Access dosyası olarak da bilinir. Apache tabanlı web sunucuları için bir konfigürasyon dosyasıdır. Bir canlı dizini veya alt dizinleri kontrol eder. Ayrıca, 404, 410 gibi özel hata sayfası oluşturmak için de kullanılır.
Web sitesi davranışını kontrol etmek ve dizinleri yetkisiz erişime karşı korumak çok yararlıdır. Htaccess dosyasına web sitenizin yönetim panelinden veya FileZilla FTP programı kullanarak erişebilirsiniz. Eğer böyle bir dosya mevcut değilse, bir metin dosyasını .htaccess olarak adlandırabilirsiniz.
Web sitesinin belirli bir alanının şifre koruması
Hemen hemen her web sitesinin özel veya yönetici alanı vardır. Yönetici alanınızı veya özel alan şifrenizi korumalı tutabilirsiniz. Bu şifre koruması aslında .htaccess dosyasında ayarlanmıştır.
URL yeniden yazma (rewriting)
Hypertext Access dosyasını kullanarak web sitenizin URL adresini yeniden yazabilirsiniz. URL’yi kalıcı olarak 410 yönlendirmeyi, 301 yönlendirmesini kullanarak web sayfasını diğerine kalıcı olarak yönlendirmek için kaldırabilirsiniz. Web sitesi için varsayılan bir sayfa veya web sitesinin tamamı için belirli bir açılış sayfası belirleyebilirsiniz.
HTTP’den HTTPS’ye yeniden yönlendirme
Şu anda HTTP’den geçen tüm trafiğin HTTPS olması gerekiyorsa. (Örneğin, yeni SSL sertifikası satın almış ve yeni yüklemişseniz) aşağıdakileri eklemeniz gerekir.
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] RewriteCond %{ENV:HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] </IfModule>
Ziyaretçileri ip adresine göre engelle
Hypertext Access dosyasını kullanarak, belirli bir ziyaretçiyi ip adresini kullanarak engelleyebilirsiniz. Bu htaccess dosyasının mükemmel bir güvenlik özelliğidir.
deny from 255.0.0.0
deny from 123.45.6.
allow from all
Hot link koruması
Hot link, bir tür bant genişliği hırsızlığı türüdür. Htaccessi kullanarak diğer web sitelerinin içeriğinizi yayınlamasını önleyebilir ve hatta farklı içerikleri görüntüleyebilirsiniz.
Örnek resimlerin korunması:
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?alanadi.com [NC] RewriteRule .(jpg|jpeg|png|gif)$ – [NC,F,L]
CGI’yı etkinleştir
Bir web sunucusu CGI betiklerini ‘cgi-bin’ dizininin dışında çalıştırmaya izin vermiyorsa, CGI’yi etkinleştirerek yapabilirsiniz.
Options +ExecCGI
Gzip Sıkıştırmasını Etkinleştir
Bu özelliği kullanarak web sitenizin yüklenmesini hızlandırabilirsiniz. Böylece Gzip sıkıştırmasını kullanarak etkinleştirebilirsiniz.
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/opentype
# Sıkıştırmayı Yönetemeyen Eski Tarayıcılar
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
</IfModule>
MIME türleri ekleme
MIME türleri bir dosyanın ne olduğunu ya da hangi dosya uzantılarının hangi dosya türlerine başvurduğunu belirler. Örneğin, ‘.html’ dosya uzantısı HTML belgesine, ‘.zip’ dosya uzantısı ZIP arşiv dosyasına işaret eder. Sunucunun bunu bilmesi gerekir, böylece dosyayla nasıl başa çıkılacağını bilir. Bu genellikle yaygın dosya türleri için özel dosya uzantısı oluşturmak için kullanılır.
AddType text/plain .txt
PHP dosyalarına erişimi önleme
Aynı zamanda web sunucusu veya web sitesi güvenliği için kullanılır. PHP dosya koruması da .htaccess dosyasının harika bir özelliğidir. Örneğin, PHP içeren bir dizine sahipsiniz ve doğrudan tarayıcıdan erişilmesini istemiyorsunuz. Sonra Mod_Rewrite kullanarak devre dışı bırakabilirsiniz.
RewriteEngine On
RewriteBase /
## İçeriğe dizine erişim testi
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /includes/ .*$ [NC] ## İstenen dosyanın php uzantılı olduğunu test edin
RewriteCond %{REQUEST_FILENAME} ^.+.php$
## Forbid Access
RewriteRule .* – [F,NS,L]
Komut dosyalarını kaynak kodu olarak görüntüleme
Htaccessle komut dosyalarının yürütülmesini önleyebilir ve bunları kaynak kodları olarak görüntüleyebilirsiniz.
AddType text/plain .pl .cgi .php .py
Güvenli olmayan istekleri önleme, php.ini dosyasına erişmeyi engelleme ve sunucu imzasını değiştirme gibi pek çok özellik, htaccess dosyasının yararlı özellikleridir. Ancak, düz metin editörü kullanarak bir .htaccess dosyası oluşturduğunuzdan emin olun. Aksi takdirde dosya çalışmayacaktır. Değişiklik yapmadan önce önceki dosyanızın yedeğini alın. Çünkü yanlış bir dosya kullanmak web sitenizi tamamen durdurur.
İlginizi çekebilir: