WordPress’te Kullanabileceğiniz Faydalı .htaccess Kodları

htaccess WordPress, Apache web sunucusunda ayarları tekrar yapılandırmak için kullanabileceğiniz bir dosyadır. Birçok farklı yapılandırmayı burada güncelleyebilirsiniz. Belirli kodlar ile yapacağınız güncellemeler, web sitenizin performansını yükseltme ve daha işlevsel hale getirme şansınız vardır. Kodlarla URL’leri tekrar yazma, yönlendirme gibi birçok farklı yapılandırmayı web sitenizde gerçekleştirebilirsiniz.

Web geliştiriciler, hayatında en az bir defa WordPress htaccess dosyasıyla karşılaşmıştır. Peki, bu dosya ne işe yarıyor? Kullanabileceğiniz yararlı kodlar nelerdir? İşte tüm bu soruların cevaplarını içeriğimizi okuyarak öğrenebilirsiniz. İlk olarak htaccess WordPress dosyası hakkında bilgi verelim ve ardından bu dosyanın nasıl oluşturulduğuna değinelim. Hazırsanız içeriğimizi okumaya başlayalım.

WordPress htaccess Dosyası Nedir?

Web sitenizi WordPress’te kurduğunuzda sitenin kök dizininde bir htaccess dosyası ile gelir. Bu dosya, Apache web sunucusunu kontrol etmek ve yapılandırmak için çeşitli komutlar sağlar. Eğer ki, bu dosya olmasaydı her web sitesi sahibi aynı formatta bir site kullanmak zorunda kalırdı. Dosyanın varlığından dolayı böyle bir durumla karşılaşmıyorsunuz.

htaccess dosyasının temel amacı, Apache web sunucusunda belirli ayarların tekrar yapılandırmasını sağlamaktır. Sunucuda ihtiyacınız olan özelliklerin ayarlarını yaparak daha verimli bir web sitesine sahip olabilirsiniz. Örneğin; URL yönlendirmeleri sağlarken bu dosyayı kullanabilirsiniz. Başka ayarların da yapılandırması için faydalıdır. Böylece ihtiyacınıza en uygun şekilde dosyayı şekillendirme şansınız bulunur.

WordPress htaccess Dosyası Nasıl Etkinleştirilir?

Az öncede belirttiğimiz gibi dosya WordPress sitenizi kurduğunuzda beraberinde gelmektedir. Ancak .htaccess dosyası, gizlidir ve aktifleştirme işlemini tamamlamalısınız. “Gizli Dosyaları Göster” seç eneğini etkinleştirdiğiniz zaman htaccess karşınıza çıkar. Bu durumda karşınıza bir kodun çıktığını görebilirsiniz. Kod, aşağıdaki şekilde karşınıza çıkar:

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L] </IfModule>

# END WordPress

Özelleştirme işlemleriniz sırasında bir sorunla karşılaşırsanız, her zaman geriye dönme şansınız vardır. “#” işaretinin bulunduğu kısımlar, kod yorumlarını ifade eder. Bu bölümde WordPress çekirdeği yazılabileceğinden dolayı “#BEGIN”  ve “#END” yorumlarına herhangi bir ekleme yapmanıza gerek yoktur.

Karşınıza çıkan #END WordPress yorumundan sonra altına özel kuralları eklemek durumundasınız. Bu aşamada bir değişiklik yapmadan önce var olan dosyayı kopyalamayı unutmayın. Geri dönme durumunda bu kodlara ihtiyacınız olabilir. Öyleyse, htaccess örnekleri vererek size fayda sağlayacak kodları açıklayalım. Bunlar sayesinde ihtiyacınız olan özellikleri web sitenizde gerçekleştirmeniz mümkün olur.

Dizinleri Taramayı Devre Dışı Bırakın

Dizin tarama, WordPress sitenizi kurduktan sonra etkin bir şekilde gelmektedir. Bu durum, güvenlik açısından sıkıntı yaratabilir. Çünkü internette bulunan kişiler, içerikleri listeleyebilir. Haliyle ilerleyen zamanda hoş bir durumla karşılaşmama ihtimaliniz oldukça yüksektir. Güvenlik sorununu en aza indirmek için dizinleri tarama seçeneğini yapılandırma şansınız vardır. 

Dizinleri tarama işleminin devre dışı bırakılması için bir kod kullanmanız gerekir. “Options –Indexes” koduyla WordPress htaccess dosyasında aktif halde olan özelliği kapatmanız mümkündür. Bu sayede güvenlik açıklarının önüne geçebilir ve sitenizde ortaya çıkabilecek sorunlara engel olabilirsiniz. 

Şimdi sizin için faydalı olabilecek bir diğer koda geçelim. Şüpheli IP adreslerini engellemek için hangi kodu kullanmanız gerektiğine bakalım.

Şüpheli IP Adreslerini Engelleyin

Bir sorun yaşadığınız IP adreslerinin sitenize erişimini engellemeniz mümkündür. Böylece nedeni her ne olursa olsun engellediğiniz IP’den giriş yapan kişiler, siteye erişim sağlayamaz. Her satıra bir tane kural eklemeniz mümkündür. Bunun görüntüsünü aşağıdaki şekilde karşınıza çıkar:

Order allow,deny

Deny from xxx.xxx.xx.xx

Deny from yyy.yyy.yy.yy

Allow from all

IP’leri engelledikten sonra dilediğiniz şekilde web sitenizi kullanabilirsiniz. Bu özellik, htaccess WordPress için önemli ve faydalıdır. Birazdan anlatacağımız yapılandırma ise savunmasız dosyalarınızı korumakla ilgili.

Savunmasız Dosyaları Koruyun

Bir diğer güvenliği sağlama konusu, savunmasız dosyaları korumaktır. Bu dosyalar, veri tabanı kullanıcı adı ve şifre gibi önemli bilgileri içerir. Bir sorun oluşmamasından dolayı savunmasız dosyaları mutlaka korumanız gerekir. Bunu, .htaccess ya da wp-config.php dosyalarından teker teker yapabilirsiniz. Ancak toplu bir şekilde gerçekleştirme şansınız da vardır. Savunmasız dosyalarınız için aşağıdaki koda bakabilirsiniz:

<FilesMatch “^.*(error_log|wp-config\.php|php.ini|\.[hH][tT][aApP].*)$”>

Order deny,allow

Deny from all

</FilesMatch>

Artık savunmasız dosyalarınızı toplu bir biçimde koruyarak güvenliği sağlamanız mümkündür.

Wp – Includes Klasörüne Erişimi Engelleyin

Önemli çekirdek dosyalarını içeren wp-includes klasörü, oldukça önemlidir. Normal durumlarda bu klasöre erişmeye gerek yoktur. Ancak internet dünyası bazen kötü niyetli kişilerin hedefi olabiliyor. Saldırganlar bu bilgileri çalarak kötü niyetli amaçları için kullanabilir. Bunun için htaccess dosyanızda aşağıdaki kuralları ekleyerek klasöre erişimi engelleyebilirsiniz:

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^wp-admin/includes/ – [F,L] RewriteRule !^wp-includes/ – [S=3] RewriteRule ^wp-includes/[^/]+\.php$ – [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php – [F,L] RewriteRule ^wp-includes/theme-compat/ – [F,L] </IfModule>

Kodu ekledikten sonra artık kötü niyetli saldırganların önemli bilgileri içeren wp-includes dosyasına erişimini engellersiniz.

wordpress htaccess ve 301 yönlendirme

301 Yönlendirmelerini Ayarlayın

URL’ler için kalıcı yönlendirmeler, 301 yönlendirme ayarlanarak yapılmaktadır. SEO dostu bir URL oluşturmak için mutlaka bu işlemi gerçekleştirmenizi öneriyoruz. URL yönlendirmesi denildiğinde http formatında https formatına geçiş yaptığınızı bilmelisiniz. Sitenizin URL çubuğunda http olması, “Güvenli Değil” ibaresinin yer almasına neden olur. Bu durum, https’ye geçiş yaptığınızda ortadan kalkar. Kod aşağıdaki şekildedir:

Redirect 301 /oldurl1/ https://www.yoursite.com/newurl1/

Redirect 301 /oldurl2/ https://www.yoursite.com/newurl2/

Kodun SEO eklentisi içerisine eklenmesi gerekir. 

php dosyalarına doğrudan erişimi kapatın

PHP Dosyalarına Doğrudan Erişimi Kapatın

Güvenilir bir site yaratmak için PHP dosyalarına doğrudan erişimi kapatmanız gerekir. PHP dosyalarınıza böylece kötü niyetli kişiler, zararlı kodları giremez. 

RewriteCond %{REQUEST_URI} !^/wp-content/plugins/file/to/exclude\.php

RewriteCond %{REQUEST_URI} !^/wp-content/plugins/directory/to/exclude/

RewriteRule wp-content/plugins/(.*\.php)$ – [R=404,L] RewriteCond %{REQUEST_URI} !^/wp-content/themes/file/to/exclude\.php

RewriteCond %{REQUEST_URI} !^/wp-content/themes/directory/to/exclude/

RewriteRule wp-content/themes/(.*\.php)$ – [R=404,L]

Koduyla bu işlemi kolay bir şekilde gerçekleştirmeniz mümkündür.

XML-RPC Erişimini Kaldırın

Jetpack gibi üçüncü taraf uygulamaların sitenize erişimini sağlayan XML-RPC arabirimidir. Bu sayede sitenizdeki içeriklerin yayınlanması ve gerekli düzenlemelerin yapılması mümkündür. Siteyi ilk kurduğunuz zaman xml-rpc erişime açıktır. Haliyle güvenlik açısından büyük bir tehlike oluşturur. Devre dışı bırakarak sitede üçüncü taraf uygulamaların kullanılmasını engelleyebilirsiniz:

<FilesMatch “^(xmlrpc\.php)”>

Order deny,allow

Allow from xxx.xxx.xx.xx

Allow from yyy.yyy.yy.yy

Deny from all

</FilesMatch>

Dilediğiniz takdirde kurala IP adreslerini ekleme şansınız vardır. Unutmayın ki, bu ayarlamalar tamamen sizin ihtiyaçlarınıza göre şekillenir.

Tarayıcı Önbelleğe Almayı Etkinleştirin

Sitenizi daha fazla hızlandırmak ve performansını arttırmak için tarayıcı önbelleğe almayı etkinleştirmelisiniz. Ziyaretçileriniz bu sayede resim ve komut dosyalarını sürekli indirmek durumunda kalmaz. 

<IfModule mod_expires.c>

ExpiresActive On

ExpiresByType image/jpg “access 1 year”

ExpiresByType image/jpeg “access 1 year”

ExpiresByType image/gif “access 1 year”

ExpiresByType image/png “access 1 year”

ExpiresByType text/css “access 1 month”

ExpiresByType application/pdf “access 1 month”

ExpiresByType text/x-javascript “access 1 month”

ExpiresByType application/x-shockwave-flash “access 1 month”

ExpiresByType image/x-icon “access 1 year”

ExpiresDefault “access 2 days”

</IfModule>

Yukarıdaki kodla tarayıcıyı önbelleğe alma işlemini aktif hale getirerek sitenizin performansını arttırabilirsiniz.

Kötü Amaçlı Komut Enjeksiyonlarını Önleyin

İnternet ortamında saldırı yapan kişiler, genellikle GLOBALS ve _REQUEST değişkenlerini hedef alır. Kötü amaçlı kodları yerleştirme hedefiyle değişkenleri değiştirmeye çalışırlar. Aşağıda bulunan htaccess kuralları sayesinde yapılan değişiklikleri önleyebilirsiniz:

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})

RewriteRule ^(.*)$ index.php [F,L]

Yukarıdaki kod sayesinde hackerların sitenize kötü bir kod yazma ihtimalini en aza indirmeniz mümkündür.

Wp-Content Klasörünü Koruyun

Wp-content klasörünüz içinde temalardan eklentilerinize kadar birçok önemli veri bulunur. CSS, Javascript ve resimler haricinde bu klasöre herhangi bir erişim vermenin anlamı yoktur. Klasörü koruyarak oluşabilecek tehlikelerin önüne geçebilirsiniz. Bunun için htaccess kodunu ekleyerek ziyaretçilerin erişebileceği dosyaları eklemeniz mümkündür:

Order deny,allow

Deny from all

<Files ~ “.(xml|css|js|jpe?g|png|gif|pdf|docx|zip|rar)$”>

Allow from all

</Files>

Kodu sayesinde wp-content klasörünü koruma altına alabilirsiniz.

Kullanıcı Numaralarını Engelleyin

WordPress’te yazarlara ait olan URL yapıları mevcuttur. Bütün yazarların author=1 ile başlayan bir numarası bulunur. URL çubuğunda yazarın numarası bulunduğunda tarayıcı yazarın tüm sayfasını yükler. Böylece yazarın kullanıcı adı da bulunabilir. Aşağıdaki kodla kullanıcıların numaralarını engelleme işlemini gerçekleştirmeniz mümkündür:

RewriteEngine on

RewriteBase /

RewriteCond %{QUERY_STRING} author=d

RewriteRule ^ /? [L,R=301]

Yukarıdaki kodla kullanıcı adı numaralarına erişimin önüne geçebilirsiniz.

Özel Hata Kodu Sayfaları Ekleyin

WordPress’te varsayılan özel hata kodları mevcuttur. Ancak bu sayfaları sizin de oluşturmanız mümkündür. Bunları htaccess dosyasıyla kullanıcılara ulaştırabilirsiniz. HTML veya PHP ile oluşturduğunuz hata kodlarını, kök klasöre eklemelisiniz. Aynı hata sayfasını her kullanıcı için oluşturabilirken aynı zamanda ayrı şekilde yapabilme şansınız vardır:

ErrorDocument 404 /error404.html

ErrorDocument 403 /error403.html

ErrorDocument 500 /error500.html

ErrorDocument 501 /error501.html

Yukarıdaki kodlar sayesinde hata kodlarını kök klasöre eklemeniz mümkündür. 

Wp-Admin Klasörünü Koruyun

Sitenizde yaptığınız her işlem, wp-admin klasöründe gerçekleşir. Buraya sadece izin verdiğiniz kişilerin erişmesi daha doğrudur. WordPress admin klasörü için ihtiyacınız olan kod aşağıdaki şekildedir:

AuthUserFile /dev/null

AuthGroupFile /dev/null

AuthName “WordPress Admin Access Control”

AuthType Basic

<LIMIT GET>

Order deny,allow

Deny from all

Allow from xxx.xxx.xx.xx

Allow from yyy.yyy.yy.yy

</LIMIT>

Yukarıdaki kod, yalnızca listelediğiniz IP adreslerine erişilmesine izin verecektir.

Bakım Sayfasını Aktif Hale Getirin

İhtiyacınız olan htaccess sayfasının çalışması için bakım sayfasını aktif hale getirmeniz önem arz eder. Size fayda sağlayacak htaccess kodu sayesinde bakım modunu aktifleştirebilirsiniz. Kod aşağıdaki gibidir:

# Redirects to maintenance page

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000

RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC] RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] RewriteRule .* /maintenance.html [R=503,L] </IfModule>

Bakım sayfası aktif hale geldiğinde dosyanız daha iyi bir performans sergiler.

Sonuç

İçeriğimizde htaccess WrodPress hakkında size bilgi verdik. Apache web sunucusuna bağlı olan WordPress sitenizin daha iyi bir performans sergilemesi için çeşitli ayarları yapmanız gerekir. Bu durum, ihtiyaçlarınıza göre değişmektedir. Çünkü her web sitesi sahibinin sitesinden beklediği ve nasıl bir performans istediği farklı olabilir.

Aşağıdaki listede htaccess dosyasını düzenlemenizin avantajlarını görebilirsiniz:

  • Bakım sayfasını aktif hale getirerek dosyanın daha iyi çalışmasını sağlayabilirsiniz. 
  • Admin panelini ve savunması dosyaları koruyabilirsiniz.
  • Wp-includes klasörüne erişimi engelleyerek önemli verileri korumanız mümkündür.
  • 301 yönlendirmeleri yaparak URL’yi https formatına yönlendirebilirsiniz.
  • Kötü niyetli komut enjeksiyonlarının önüne geçerek güvenliği sağlayabilirsiniz. 
  • Sitenize zararı dokunacak IP adreslerini engelleme şansınız vardır.

Yukarıdakilerden de anlaşılacağı üzere htaccess WordPress için değiştirilen kodlar, sitenizde güvenliği sağlamak açısından çok önemlidir. Aynı zamanda sitenin performansının daha iyi hale gelmesini sağlar. İhtiyacınıza göre bu işlemleri yaparak birçok sorunun önüne geçebilirsiniz. Tek yapmanız gereken siteyi kurduktan sonra htaccess dosyasını etkinleştirmek ve ardından çeşitli ayarları doğru kodlarla yapmaktır.

WordPress Bileşen Nedir? yazımızı da inceleyerek WordPress’e dair daha kapsamlı bilgi sahibi olabilirsiniz.

Hakkında Sıkça Sorulan Sorular

Apache sunucusunda web sitesini daha verimli hale getirmenizi sağlayan bir dosyadır. Web sitenizde ihtiyacınıza özel olarak ayarlar yapmanızı sağlar.

Genel olarak bu dosya, web sitenizin public_html klasöründe bulunmaktadır. 

Bu yönlendirme, web sitenizin URL’sini düzenlenmesini sağlar. Sitenizin URL’si http ise https formatına geçilmesi olarak tanımlanabilir. 

Tolunay Togul
Tolunay Togul

Yazılar: 32

Merhabalar ben Tolunay, İstanbul Üniversitesi İktisat Fakültesi Siyaset Bilimi ve Uluslararası İlişkiler mezunuyum. Üniversite hayatımın üçüncü yılında dijital pazarlamaya olan ilgimi keşfettim ve bu alanda çalışmaya başladım. Dopinger Blog aracılığı ile de sizler için faydalı bulduğum içerikleri ... Devamını Oku
WordPress’te Kullanabileceğiniz Faydalı .htaccess Kodları Hakkında İlk Yorum Yapan Sen Ol

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

(Toplam: 50 Ortalama: 5 )

Gösterilecek yorum yok.