.htaccess nedir ? .htaccess ile neler yapılabilir

()

Başlıklar

.htaccess nedir?

Hypertext Access anlamına gelen ve apache gibi web sunucularında yapılandırma işlemlerinin kurallar ile belirtildiği yapılandırma dosyasıdır . Bu dosya ile internet sitenizin performansını arttırmak , optimize etmek , güvenliğini sağlamak gibi bir çok işlemi yapabilirsiniz.

.htaccess i kim buldu?

Dosyasını kimin “bulduğu” tam olarak bilinmemekle birlikte, bu dosyanın Apache web sunucusunun ilk sürümlerinde ortaya çıktığı biliniyor.
Apache’nin ilk sürümü 1995 yılında piyasaya sürüldü ve .htaccess dosyaları o zamandan beri Apache’nin temel bir özelliği olmuştur.
.htaccess dosyasının ilk olarak kim tarafından tasarlandığı veya geliştirildiği konusunda net bir bilgi bulunmamaktadır.

.htaccess dosyası nerede bulunur?

htaccess dosyası linux tabanlı veya php desteği sunan sunucularda site dosyalarınızı yüklediğiniz dizinde bulunmaktadır.  Görüntüleyemediğiniz durumlarda “gizli dosya  ve klasörleri göster” seçeneğini cpanelden veya ftp istemcinizden aktif edebilirsiniz . Ayrıca sitenizin alt klasörlerinede .htaccess dosyaları oluşturarak ana dizininizden farklı kurallar yazabilirsiniz.

.htaccess dosyası ile neler yapılabilir?

  1. Seo Uyumlu Linkler – Url rewirite
  2. Hotlink Engellemesi
  3. Dosya klasör gizleme
  4. Hata sayfası yönlendirmeleri
  5. Klasör yetkilendirme
  6. Bot engelleme
  7. www yapılandırması – canonical url
  8. Dosya , dizin şifreleme
  9. İp engelleme
  10. Domain yönlendirme 301/302
  11. Mobil Yönlendirme
.htaccess dosyasındaki kısa ifadeler.

L: Bu sembolden önce yazılan kuralların sonrakilere uygulanmamasını sağlar. Ayırıcı niteliindedir.

R: Parametresi kullanıldığında , erişim sağlayan kullanıcının browser url si değişir . Kullanılmadığı durumda ise işlemler kullanıcıya yansıtılmadan arka planda yapılır.

NC: (No Case) Büyük küçük hart duyarszlığı sağlar.

QSA: Bu parametre url yönlendirmelere eklendiğinde yönlendirmeye get parametrelerinde dahil eder.

[OR]:  Veya anlamı katar.

.htaccess dosya , klasör gizleme nasıl yapılır?

deny from all
Tüm dosyalara erişim engeller

<Files a.php>
Order allowideny
Deny from all

a.php dosyasını spesifik olarak engeller.

.htaccess selflink, seo uyumlu link nasıl yapılır?
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /pages.php?page=$1 [L,QSA]

Yukarıdaki .htaccess kod bloğu
siteadresiniz.com/pages.php?=sayfaadı
gibi talepleri
siteadresiniz.com/sayfaadı olarak değiştirir.

.htaccess hotlink engelleme nasıl yapılır?

İnternet sitenizin dosyalarının farklı bir internet sitesi tarafından çekilmesini (crawl) edilmesini engellemek istiorsanız hotlink engelleme metodunu kullanabilirsiniz.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?siteadresiniz.com.*$ [NC]
RewriteRule .(gif|jpg|png|css)$ – [F]
.htaccess dosya klasör gizleme/engelleme nasıl yapılır?

Aşağıdaki örnekte hostturka ile başlayan tüm dosyaları engellemiş oluyoruz.

< Files ~ “^\.hostturka” >
Order allow,deny
Deny from all
Satisfy All

.htaccess hata sayfası yönlendirme nasıl yapılır?

Aşağıdaki kod bloğu ile sitenizde bulunamayan sayfaları bulunamadi.html sayfasına yönlendiriyoruz.

RewriteEngine On
ErrorDocument 404 /bulunamadi.html
.htaccess klasör erişim yetkilendirme nasıl yapılır?

Aşağıdaki kod bloğu .htaccess in bulunduğu klasördeki tüm dosyalara erişimi kaldırabiliriz. Bu yöntemi herhangi bir dosyaya sadece dosya sisteminden erişilmesii istediğinizde kullanabilirsiniz.

#deny all access
deny from all

Veya aşağıdaki kod bloğu ile dosya erişimini bir ip adresine veya ip bloğuna açabilirsiniz.

#deny all access
deny from all
allow from 10.79.0.132 # tek ip adresi
allow from 10.79.0.0/24 # ip bloğu
.htaccess ile bot engelleme nasıl yapılır?
Bazı durumlarda sitenize erişen zararlı botlar sitenizin performansının düşmesine ve kaynaklarınızın israf olmasına neden olur bu gibi durumlarda htaccess ile zararlı botları engelleyebilirsiniz. Aşağıda bizim tespid ettiğimiz zararlı botların listesini ve engelleme komutlarını bulabilirsiniz.

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]
RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]
RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]
RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR]
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]
RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Wget [OR]
RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule .* - [F]

.htaccess www domaini www siz domaine yönlendirme nasıl yapılır?
www.siteadresiniz.com ve siteadresiniz.com domainleri her ne kadar aynı görünse de seo açısından faklıdır . Burada www bir subdomain olarak görünür. Sitenizi işaret eden linklerin bir kısmı www.siteniz.com diğer bir kısmının siteniz.com u işaret ettiği durumda iki ayrı domaininiz linklenmiş gibi olup sitenize yaptığınız seo çalışması ikiye bölünmüş olmaktadır. Bu durumdan kurtulmak için aşağıdaki htaccess kodunu kullanarak sitenizin www li adresini www size yönlendirip 301 yönlendirmesi ile www sitenizi işaret eden linklerin gücünü www siz domaininize aktarabilirsiniz.
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{http_host} ^www\.siteniz\.com[nc]
RewriteRule ^(.*)$ http://siteniz.com/\ [r=301,nc]

Sitenizin https li tek etki alanından yayın yapması için aşağıdaki kdu kullanabilirisniz.

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


.htaccess ile expire header nasıl oluşturulur?
Seo için önemli bir özellik expire header oluşturmak için aşağıdaki htaccess kodlarını kullanabilirsiniz . Sitenizin performansına önemli katkısı olacaktır .
 < FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|webp|js|css|swf|x-html|css|xml|js|woff|woff2|ttf|svg|eot)(\.gz)?$" >
< IfModule mod_expires.c>
AddType application/font-woff2 .woff2
ExpiresActive On
ExpiresDefault A0
ExpiresByType image/webp A2592000
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/ico A2592000
ExpiresByType image/svg+xml A2592000
ExpiresByType text/css A2592000
ExpiresByType text/javascript A2592000
ExpiresByType application/javascript A2592000
ExpiresByType application/x-javascript A2592000
ExpiresByType application/font-woff2 A2592000


Header set Expires "max-age=2592000, public"
Header unset ETag
Header set Connection keep-alive
FileETag None


Bu gönderi ne kadar faydalıydı?

Puanlamak için bir yıldıza tıklayın!

Ortalama puanı / 5. Oy sayısı:

Henüz oy yok! Bu yazıyı ilk siz değerlendirin.