WordPress’te .htaccess dosyası sayfanızı barındırdığınız sunucuyla olan tüm iletişiminizi yöneten ve temel kuralları barından web sitenizin kontrol merkezidir. Özellikle sayfalar arası gezintiyi kontrol etme ve güvenlik, performans iyileştirmeleri gibi sebeplerle kullanabilirsiniz. Herhangi bir dosyanın içine ekleyerek o dosyayı değiştirebilirsiniz. Sunucu başlatıldığında direkt .htaccess dosyasını arar ve kodları yürütür.

.htaccess birçok web sitede kullanılabilir. Sadece WordPress ile sınırlı değildir. Web siteleri yeniden yapılandırmanızda büyük bir rol oynar. WWW uzantısı olmayan web sayfanızın URL’sini direkt WWW adresine yönlendirir.

.htaccess dosyası web sayfanızın güvenliği içinde kullanılabilir. Herhangi bot saldırılarında güvenlik görevini görmektedir. Güvenlik ayarlarınızı .htaccess aracılığı ile yapılandırırsınız. Unutmayın ki ayarları en uygun şekilde yapılandırmalısınız. Herhangi bir hatada web siteniz zarar görebilir.

WordPress .htaccess Dosyası

Varsayılan olarak .htaccess dosyası WordPress’in kurulumu ile gelmektedir. Eğer ki ulaşamıyorsanız gizli dosyaların arasında bulunması muhtemeldir. Genellikle kök dizinde bulabilirsiniz. Filezilla gibi FTP programları aracılığıyla ulaşabilirsiniz.

Eğer ki siteniz Apache Web sunucu ile barındırılıyorsa kök dizinde yani “public_html” veya “www” dizininde bulabilirsiniz. Eğer dosyanız gözükmüyorsa gizli klasörleri göster seçeneklerini işaretlemelisiniz.

Eğer ki .htaccess dosyanız bulunmuyor ise kendiniz manuel olarak bu dosyayı oluşturabilirsiniz. Kök dizininize gelip not defterini “.htaccess” olarak kaydedeceksiniz. Dosyanızın isminin başında nokta olacaktır. Bunu kesinlikle unutmamalısınız.

WordPress için varsayılan .htaccess dosyası örneği:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L
</IfModule>

Eğer .htaccess dosyanızı WordPress üzerinden oluşturmak isterseniz WordPress yönetim panelinize girip kalıcı bağlantılar sekmesini bulamanız gerekmekte. Ardından ayarları kaydet diyeceksiniz ve dosyanız oluşacaktır.

WordPress’te .htaccess Dosyası Nasıl Düzenlenir
WordPress’te .htaccess Dosyası Nasıl Düzenlenir

WordPress’te .htaccess Dosyası Nasıl Düzenlenir?

Aslında WordPress’te .htaccess dosyasını düzenlemek oldukça basittir. WordPress’in vermiş olduğu dosya yöneticisinden veya FileZilla gibi FTP istemcilerinden düzenleyebilirsiniz.

Eğer FileZilla gibi FTP istemcilerinden düzenlemek istiyorsanız. FTP istemcinizde sunucunuzun hesabını açmalısınız. Kök dizininizi bulup dosyayı düzenle işlemini yapmalısınız. Mutlaka düzenleme yapmadan önce .htaccess dosyanızın yedeğini almayı unutmayınız.

Eğer kendi bilgisayarınız üzerinden işlem yapmak istiyorsanız bilgisayarınız üzerinden işlemleri yapıp sunucunuza yükleme yapabilirsiniz. Bu işlem daha güvenli olabilir.

WordPress .htaccess Yönlendirmeleri

Web sitenizde yönlendirmeler yapmak için .htaccess olmazsa olmazdır. Yönlendirmeleri ayarlamanız, kontrol etmeniz ve düzenlemeniz için gereklidir.

Kalıcı Yönlendirme – 301

Kalıcı yönlendirme yani 301 yönlendirmesi arama motoruna web URL’nizin başka bir URL’ye yönlendirildiğini bildirir. Ayrıca klasörlerinizi, sayfalarınızı, web sitenizin tamamını bu işlem ile yönlendirebilirsiniz. Aşağıdaki kod parçası eski sayfanızı yeni sayfaya yönlendirir.

Redirect 301 /oldpage.html https://www.websiteniz.com/newpage.html

İlgili İçerik: 301 Kalıcı Yönlendirme (Moved Permanently) Nasıl Yapılır?

Geçici Yönlendirme – 302

302 geçici yönlendirmesi, 301’den farklı olarak yaptığınız yönlendirmenin arama motoruna geçici olduğunu bildirmesidir. Bu yönlendirme çeşidini kullanarak SERP karşılaştırmalarını önleyebilirsiniz veya yavaşlatabilirsiniz.

Redirect 302 /oldpage.html http://www.yourwebsite.com/newpage.html

İlgili İçerik: 302 Geçici Yönlendirme ( Temporary Redirect )

URL’nizi WWW’ye Yönlendirmek

.htaccess ile birlikte web site URL’nizi www.siteniz.com olarak zorlayabilirsiniz. Kısaca siteniz.com yerine www.siteniz.com adresi kullanılacaktır.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]

URL’nizi WWW’den Ayırma

.htaccess dosyası ile birlikte web site URL’nizi www uzantısını kullanmamaya zorlayabilirsiniz. Örneğin siteniz www.siteniz.com yerine siteniz.com adresini kullanacaktır.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301

URL’nizi HTTPS’ye Zorlama

.htaccess dosyası aracılığı ile web site URL’nizi HTTPS uzantısı kullanmaya zorlayabilirsiniz. Web siteniz HTTP yerine HTTPS kullanacaktır. Örneğin http://www.siteniz.com yerine https://www.siteniz.com alan adını alacaktır.

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

URL’nizi HTTP’ye Zorlama

Dosyanız yardımı ile web site URL’niz HTTPS yerine HTTP’ye zorlanacaktır. Örneğin https://www.siteniz.com yerine http://www.siteniz.com alan adını alacaktır.

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Etki Alanını Alt Dizine Yönlendirmek

Kök URL’nizi kendinize göre alt dizine yönlendirebilirsiniz.

RewriteCond %{HTTP_HOST} ^example.com$
RewriteCond %{REQUEST_URI} !^/sub-directory-name/
RewriteRule (.*) /subdir/$1

URL’yi Yeniden Yönlendirmek

Eğer ki iki alan adı tek bir siteye yönleniyorsa. Bir alan adını diğerine yönlendirmenize olanak vardır.

Redirect 301 / http://www.mynewwebsite.com/
WordPress’te .htaccess Dosyanızı Korumak ve Güvenlik
WordPress’te .htaccess Dosyanızı Korumak ve Güvenlik

WordPress’te .htaccess Dosyanızı Korumak ve Güvenlik

WordPress açık kaynak kodlu bir yazılım olduğundan birçok kullanıcının web sitesi güvenlik açıkları verir. Siz bunlardan kurtulmak için çeşitli güvenlik yazılımları kullanabilirsiniz. Bununla birlikte .htaccess dosyası ile de kötü amaçlı her şeyden korunabilirsiniz.

SQL Enjeksiyonlarını ve URL Saldırılarını Engellemek

SQL Enjeksiyonlarını ve URL saldırılarını engellemek için .htaccess dosyanıza eklemeniz gereken kodlar vardır. Saldırganlar web sitelerinin çeşitli alanlarına zararlı SQL komutları yerleştirir. Böylelikle SQL veri tabanında saklanan bilgiler ortaya çıkabilir.

Birde URL’ye PHP ifadelerini eklemek saldırganların size saldırmasını tetikler. Bu potansiyel bir tehdittir.

Bunlardan korunmak için eklemeniz gereken kod satırı aşağıdaki gibidir. Bu kod satırı girdileri temizler:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC]
RewriteRule ^(.*)$ - [F,L]
RewriteCond %{QUERY_STRING} \.\.\/ [NC,OR]
RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]
RewriteCond %{QUERY_STRING} tag\= [NC,OR]
RewriteCond %{QUERY_STRING} ftp\: [NC,OR]
RewriteCond %{QUERY_STRING} http\: [NC,OR]
RewriteCond %{QUERY_STRING} https\: [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [NC,OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|<|>|ê|"|;|\?|\*|=$).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(&#x22;|&#x27;|&#x3C;|&#x3E;|&#x5C;|&#x7B;|&#x7C;).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(%24&x).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127\.0).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare).* [NC]
RewriteCond %{HTTP_COOKIE} !^.*WordPress_logged_in_.*$
RewriteRule ^(.*)$ - [F,L]
</IfModule>

Başka bir güvenlik sorunu hassas dosyalarınızdır. WordPress wp-config.php, install.php veya readme.html dosyaları gibi hassas dosyalara sahiptir. Bunları tüm dış etkenlerden korumak gerekir.

Tüm bu dosyalarınızı .htaccess aracılığı ile gizleyebilirsiniz. Dosyalarınızın bozulmasını da engeller.

Options All -Indexes

<files .htaccess>
Order allow,deny
Deny from all
</files>
 
<files readme.html>
Order allow,deny
Deny from all
</files>
 
<files license.txt>
Order allow,deny
Deny from all
</files>
 
<files install.php>
Order allow,deny
Deny from all
</files>
 
<files wp-config.php>
Order allow,deny
Deny from all
</files>
 
<files error_log>
Order allow,deny
Deny from all
</files>
 
<files fantastico_fileslist.txt>
Order allow,deny
Deny from all
</files>

<files fantversion.php>
Order allow,deny
Deny from all

</files>

.htaccess Dosyasını Korumak

.htaccess dosyanızı korumak için şu kod satırını girmenizde de fayda vardır:

<files ~ "^.*\.([Hh][Tt][Aa])">

order allow,deny
deny from all
satisfy all

</files>
WordPress Yönetici Panelini Erişime Kısıtlamak
WordPress Yönetici Panelini Erişime Kısıtlamak

WordPress Yönetici Panelini Erişime Kısıtlamak

WordPress yönetici panelinize erişime imkân bulunursa kötü amaçlı kişiler her türlü işi yapabilir. Tüm web sitenizi bile kaybedebilirsiniz.

Bunun için başka bir .htaccess dosyası oluşturmalısınız. Ardından aşağıdaki kod satırını eklemelisiniz. Daha sonra bu dosyayı wp-admin klasörüne yüklemelisiniz. Eğer başka bir ip ile yönetim panelinize girilmeye çalışılırsa bağlantı reddedilecektir.

# Limit logins and admin by IP

<Limit GET POST PUT>
order deny,allow
deny from all
allow from xx.xx.xx.xx (Your ip adress)
#whitelist

</Limit>

WordPress PHP Yürütmeyi Kısıtlama

Sitenizdeki tüm dizinleri veya bazılarında php kodunun yürütülmesini engellemek için aşağıdaki kod satırını girmekte fayda vardır. Engellemek istediğiniz dosyaya .htaccess dosyası açarak aşağıdaki kod satırını girebilirsiniz:

<Files *.php>

deny from all

</Files>

İlginizi Çekebilir:

Yoast SEO Nedir, Ayarları Nasıl Yapılır?

WordPress SEO: WordPress SEO Ayarları Nasıl Yapılır?

WordPress’in En iyi 7 SEO Eklentileri

Screaming Frog Nedir? SEO Analizi İçin Kapsamlı Screaming Frog Rehberi

Site Haritası Nedir? Site Haritası Nasıl Oluşturulur?

SEO Nedir, Nasıl Yapılır?

WordPress Site Haritası Nasıl Oluşturulur?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir