İLE %100 UYUMLU: Güvenli E-Posta Hosting Hizmetimizi 1 AY ÜCRETSİZ Deneyin! HEMEN OLUŞTURUN
.htaccess, Apache web sunucularında kullanılan, sitenizin yapılandırmasını özelleştirmenizi sağlayan güçlü bir yapılandırma dosyasıdır. Bu dosya sayesinde URL yönlendirme işlemleri yapabilir, güvenlik önlemleri alabilir, hata sayfalarını yönetebilir ve performans optimizasyonları gerçekleştirebilirsiniz.
Bu rehberde, .htaccess dosyası ile URL yönlendirme kuralları ve güvenlik önlemlerini detaylı bir şekilde ele alacağız.
İçindekiler
.htaccess (Hypertext Access), Apache web sunucularında dizin bazında yapılandırma değişiklikleri yapmaya izin veren bir dosyadır.
.htaccess kullanırken dikkat edilmesi gerekenler:
Eski URL’yi yeni bir URL’ye yönlendirmek için:
Redirect 301 /eski-sayfa.html https://www.siteadiniz.com/yeni-sayfa.html
Örnek:Eski blog yazınızın URL’sini değiştirdiyseniz:
Redirect 301 /blog/eski-yazi.html https://www.siteadiniz.com/blog/yeni-yazi.html
Bu sayede eski bağlantıyı ziyaret eden kullanıcılar ve arama motorları otomatik olarak yeni sayfaya yönlendirilir.
Eğer sitenize SSL sertifikası yüklediyseniz, tüm HTTP trafiğini HTTPS’ye yönlendirmek için:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Bu kod, sitenizi ziyaret eden tüm HTTP isteklerini güvenli HTTPS bağlantısına yönlendirecektir.
www.siteadiniz.com’a yönlendirme yapmak için:
RewriteEngine On RewriteCond %{HTTP_HOST} ^siteadiniz.com [NC] RewriteRule ^(.*)$ https://www.siteadiniz.com/\ [L,R=301]
www kaldırarak yönlendirme yapmak için:
RewriteEngine On RewriteCond %{HTTP_HOST} ^www.siteadiniz.com [NC] RewriteRule ^(.*)$ https://siteadiniz.com/\ [L,R=301]
SEO açısından tutarlı bir yapı kullanmak önemlidir. Hem www hem de www’süz versiyonların açık olması SEO açısından zararlıdır.
Belirli bir dosyanın yönlendirilmesi:
Redirect 301 /eski-dosya.pdf https://www.siteadiniz.com/yeni-dosya.pdf
Belirli bir dizinin yönlendirilmesi:
RedirectMatch 301 ^/eski-klasor/(.*)$ https://www.siteadiniz.com/yeni-klasor/\
Özel bir 404 hata sayfası oluşturup bunu ziyaretçilere göstermek için:
ErrorDocument 404 /404.html
Bu kod, bir sayfa bulunamadığında otomatik olarak 404.html sayfasına yönlendirecektir.
Eğer sunucunuzda dizin listeleme açık ise, tarayıcıdan dizin erişimi sağlanabilir. Bunu engellemek için:
Options -Indexes
Bu kod, kullanıcıların www.siteadiniz.com/uploads/ gibi dizinlere erişmesini engeller.
Belirli IP adreslerini sitenize erişmesini engellemek için:
Order Deny,Allow Deny from 192.168.1.1 Deny from 45.67.89.101
Eğer belirli bir IP aralığını engellemek isterseniz:
Deny from 192.168.1.
Bu, 192.168.1.0 – 192.168.1.255 aralığındaki tüm IP’leri engelleyecektir.
Eğer saldırganlar .htaccess dosyanıza erişirse, sitenizi tehlikeye sokabilirler. Bu yüzden .htaccess dosyanızı koruyun:
<Files .htaccess> Order Allow,Deny Deny from all </Files>
Bu kod sayesinde .htaccess dosyanıza dışarıdan erişim engellenir.
Örneğin, .xml, .ini veya .env gibi hassas dosyalara erişimi kapatmak için:
<FilesMatch "\.(xml|ini|env)$"> Order Allow,Deny Deny from all </FilesMatch>
Bu kod sayesinde config.ini, .env gibi dosyalara dışarıdan erişim engellenir.
Eğer sadece belirli bir IP adresine site erişimi vermek istiyorsanız:
Order Deny,Allow Deny from all Allow from 192.168.1.100
Bu, sadece 192.168.1.100 IP adresine erişim izni verecektir.
Eğer PDF, ZIP, MP3 gibi dosyaların indirilmesini engellemek isterseniz:
<FilesMatch "\.(pdf|zip|mp3)$"> Order Deny,Allow Deny from all </FilesMatch>
Bu kod sayesinde kullanıcılar belirtilen dosyaları indiremeyecektir.
.htaccess dosyası, hem SEO açısından URL yönlendirmeleri yapmak hem de sitenizin güvenliğini artırmak için oldukça güçlü bir araçtır.
Bu rehberde, en yaygın kullanılan .htaccess komutlarını ele aldık. Eğer Apache web sunucusunda çalışıyorsanız, bu yapılandırmalar sitenizin güvenliğini artıracak ve doğru yönlendirmelerle SEO performansınızı iyileştirecektir.
Değişiklik yapmadan önce .htaccess dosyanızın yedeğini almayı unutmayın!