Web sitenizin performansını artırmak, güvenliğini sağlamak ve SEO’yı iyileştirmek için .htaccess dosyası oldukça önemlidir. Özellikle WordPress gibi popüler bir platformda, doğru şekilde yapılandırılmış bir .htaccess dosyası, sitenizin verimliliğini ve güvenliğini artırabilir.
İşte WordPress için mükemmel bir .htaccess dosyası nasıl yazılır, adım adım açıklanmıştır:
1. Yedekleme Yapın:
Herhangi bir değişiklik yapmadan önce, mevcut .htaccess dosyanızın bir yedeğini alın. Bu, olası hatalar veya istenmeyen sonuçlar durumunda geri dönüş yapmanızı sağlar.
2. HTTPS Yönlendirmesi Ekleme:
Sitenizin HTTPS’ye yönlendirilmesini sağlamak için aşağıdaki kodu .htaccess dosyanıza ekleyin:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Bu, sitenizin ziyaretçilerini otomatik olarak güvenli bir HTTPS bağlantısına yönlendirir.
3. www Yönlendirmesi Ekleme:
Eğer siteniz www ile başlıyorsa veya başlamıyorsa, tercih ettiğiniz şekilde yönlendirme yapmak için aşağıdaki kodu ekleyin:
RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.example\.com [NC] RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
Bu, www sürümünden olmayan bir URL’yi www sürümüne yönlendirir veya tam tersini yapar.
4. Önbellekleme Ayarları:
Sitenizin hızını artırmak için önbellekleme ayarlarını etkinleştirebilirsiniz. Örneğin, aşağıdaki kodu ekleyerek resimlerin, CSS dosyalarının ve JavaScript dosyalarının önbelleğe alınmasını sağlayabilirsiniz:
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/gif "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType text/css "access plus 1 month" ExpiresByType application/pdf "access plus 1 month" ExpiresByType text/x-javascript "access plus 1 month" ExpiresByType application/x-shockwave-flash "access plus 1 month" ExpiresByType image/x-icon "access plus 1 year" ExpiresDefault "access plus 2 days" </IfModule>
5. Spam Koruması Ekleme:
Spam botlarını engellemek için aşağıdaki kodu ekleyerek spam yorumları otomatik olarak reddedebilirsiniz:
# Spam botları engelleme RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*example.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
Bu kod, yorum göndermeye çalışan spam botlarını engeller.
6. Hotlink Koruması Ekleme:
Başkalarının sitenizdeki görselleri veya dosyaları doğrudan kullanmasını önlemek için hotlink koruması ekleyebilirsiniz:
# Hotlink koruma RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
Bu kod, başka sitelerden gelen istekleri reddeder.
7. Hata Sayfalarını Yönlendirme:
404 ve diğer hata sayfalarını özelleştirmek için aşağıdaki kodu ekleyebilirsiniz:
# Hata sayfalarını yönlendirme ErrorDocument 404 /404.html ErrorDocument 403 /403.html ErrorDocument 500 /500.html
8. Eklenti Erişimini Engelleme:
Güvenlik açısından, belirli eklenti dosyalarına doğrudan erişimi engelleyebilirsiniz:
# Eklenti erişimini engelleme <FilesMatch "\.(php|pot|po|mo|php3|php4|php5|phps|phtml|inc)$"> Order Allow,Deny Deny from all </FilesMatch>
Bu, kötü niyetli kişilerin eklenti dosyalarını doğrudan erişmesini engeller.
9. XMLRPC Erişimini Kontrol Etme:
XMLRPC saldırılarını önlemek için XMLRPC erişimini sınırlayabilirsiniz:
# XMLRPC erişimini kontrol etme <Files xmlrpc.php> Order Deny,Allow Deny from all </Files>
10. Sıkıştırma Etkinleştirme:
Son olarak, aşağıdaki kodu ekleyerek web sitenizin dosyalarını sıkıştırabilir ve hızını artırabilirsiniz:
# Sıkıştırma etkinleştirme <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript </IfModule>
Bu, HTML, CSS, JavaScript ve diğer dosya türlerini sıkıştırarak web sitesinin yüklenme hızını artırır.
Umarım bu yazı, WordPress için mükemmel bir .htaccess dosyası oluşturmanıza yardımcı olur. Daha fazla bilgi veya destek için lütfen bizimle iletişime geçmekten çekinmeyin.
Dosyanın Tamamı
# HTTPS Yönlendirmesi RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # www Yönlendirmesi RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.example\.com [NC] RewriteRule ^(.*)$ https://example.com/$1 [L,R=301] # Önbellekleme Ayarları <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/gif "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType text/css "access plus 1 month" ExpiresByType application/pdf "access plus 1 month" ExpiresByType text/x-javascript "access plus 1 month" ExpiresByType application/x-shockwave-flash "access plus 1 month" ExpiresByType image/x-icon "access plus 1 year" ExpiresDefault "access plus 2 days" </IfModule> # Spam Botları Engelleme RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*example.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L] # Hotlink Koruma RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L] # Hata Sayfaları Yönlendirme ErrorDocument 404 /404.html ErrorDocument 403 /403.html ErrorDocument 500 /500.html # Eklenti Erişimini Engelleme <FilesMatch "\.(php|pot|po|mo|php3|php4|php5|phps|phtml|inc)$"> Order Allow,Deny Deny from all </FilesMatch> # XMLRPC Erişimini Kontrol Etme <Files xmlrpc.php> Order Deny,Allow Deny from all </Files> # Sıkıştırma Etkinleştirme <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript </IfModule>
İlk Yorumu Siz Yapın