Hypertext access diğer bir deyişle .htaccess; web sunucu yapılandırmalarından bağımsız bir yönetime imkan veren, belirli bir web sunucusunun destek sağladığı, dizin seviyesinden yapılandırma dosyalarına verilen isimdir. Web dizin içinde bulunan .htaccess web sunucusunun yapılandırma ayarlarından bazılarının içerisinde yer aldığından dizin için geçersiz görerek yeni kuralların ilave edilebilmesini sağlayabilmektedir.
.htaccess dosyası her bir klasöre erişimi ayrı ayrı kontrol edebilmektedir. Herhangi bir klasöre parola koruması eklenmesi gibi işlemlerin yanı sıra içerik türleri, karakter setleri, CGI uygulayıcıları ve birçok düzenleyici parametre içerebilmektedir. Birçok farklı ağ sunucusunun kullandığı .htaccess dosyası kullanılarak site hızı ayarlanabilir, güvenlik sağlanabilir, dosya koruma ve SEO uygulama gibi işlemler yapılabilir.
Erişim kurallarının yeniden yazılması için kullanılan kod ile arama motorları için gereken kuralları yazmayı sağlayan kod farklı olmakla birlikte bu kodlar kullanılarak web sitelerinde birçok değişiklik yapılması mümkündür. 100’den fazla komutu kullanma imkanı veren .htaccess dosyası ile istenmeyen ziyaretçiler yasaklanabilir, kısıtlama ve yetkilendirme işlemleri yapılabilir.
htaccess Dosyası Nerede Bulunur?
Web sayfasının ana doküman dizininde bulunabilen .htaccess dosyasının görüntülenebilmesi için;
- cPanel yönetim paneline giriş yapılmalı,
- Dosya yöneticisi simgesinin üzerine tıklanmalı,
- “Gizli Dosyaları Göster” seçeneği işaretlenmeli,
- Doküman Dizini seçilerek “Git” butonuna tıklanmalıdır.
- Bu işlemlerden sonra .htaccess dosyası public_html klasörünün altında düzenlenip görüntülenebilir.
Dosyanın ana dizin içinde ya da diğer dizinlerde yer almaması durumunda kullanıcı “.htaccess” ismiyle kendisi yapabilir ve kodlarını girebilir.
htaccess Hangi Amaçlar İçin Kullanılmalıdır?
.htaccess dosyasının kullanılmasıyla Apache gibi ağ sunucusu tarafından kullanılmakta olan web alanları üzerinde ayar değişimlerinin yapılması mümkün olmaktadır. Bu sayede web sitesinde her tür değişim, yetki ve kısıtlama işlemleri yapılabilmektedir. .htaccess dosyası aracılığıyla herhangi bir kod bilgisi gereksinimi olmaksızın web siteleri için .htaccess dosyası oluşturmak mümkündür.
.htaccess dosyası kullanılarak;
- SEO uyumlu link yapısı oluşturmak,
- Dosya engellemek,
- Hotlink engellemesi yapmak,
- Hata sayfalarını düzenlemek,
- Klasör yetki sınırlandırmalarını ayarlamak,
- Düşman botlarını engellemek,
- www yapılandırması yapmak,
- Dosya şifrelemesi ve şifre koruması gibi güvenlik işlemlerini yapmak,
- IP engellemek,
- Domain yönlendirmesi yapmak,
- Verileri sıkıştırarak optimize etmek,
- Bakım sayfası oluşturmak,
- Spamları engellemek,
- iPhone algılama ve yönlendirme yapmak mümkündür.
htaccess Dosyası Nasıl Kullanılır ve Nerede Bulunur?
.htaccess dosyasına cPanel ya da FTP üzerinden erişim sağlanarak istenilen şekilde değişiklik yapılabilmektedir. Yeni dosya oluşturma işlemi;
# BEGIN HTTPS Redirection
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
# END HTTPS Redirection şeklinde yapılır.
htaccess Nasıl Kullanılır?
.htaccess dosyanın tam adı olup dosya uzantısı anlamına gelmemektedir. Örneğin ‘dosyaadı. Htaccess’ isimli bir dosya meydana getirilmezse dosya yalnızca ‘.htaccess’ olarak isimlendirilmektedir.
UltraEdit, Microsoft WordPad, TextPad ya da benzer metin düzenleyiciler kullanılarak .htaccess dosyası kullanılabilir. .htaccess dosyası ASCII modunda yüklenmelidir. ASCII ve BINARY veri aktarımında kullanılan farklı yöntemler olup .htaccess dosyaları ASCII modunda aktarılmalıdır. FTP yazılımının varsayılanı BINARY olacağı için menülerin içerisinde Trans Mode ya da Trans Type seçenekleri aranmalıdır. .htaccess dosyası üstünde etkili olması istenilen dizin dosyasına yüklenmelidir.
Yüklenen .htaccess dosyasının web sitesindeki dosyalar için dizin listelerinde görünmemesi söz konusu olabilir. Bu FTP yazılımının ya da sunucunun izleyeceği anlamına gelmekte olup sorun teşkil eden bir durum değildir. Bununla birlikte .htaccess dosyasındaki dosya izinlerinin doğru bir şekilde ayarlanmaması bazı hatalara yol açabilir. Dosya izinlerinin her zaman “755” olması gerekir. Bu durumda .htaccess dosyası işe yaramazsa web barındırma şirketi ya da sistem yöneticisi ile iletişime geçilmeli ve hesaptaki .access etkin hale getirilmelidir.
.htaccess dosyası kullanılırken çok dikkatli olunmalı ve yanlış kod yazılımlarının web sitesine zarar verebileceği göz ardı edilmemelidir. Eksik ya da yanlış kodlar kullanılması yapılan işlemin ters etki yaratmasına neden olabilir. Eğer SEO uyumu sağlanırken hata yapılırsa arama motoru bu durumu algılamaz ve yeniden düzenleme yapılması gerekir. Bu nedenle yapılacak her işlem için tamamen doğru ve eksiksiz kodlar girmeye özen gösterilmelidir.
.htaccess dosyasının doğru bir şekilde kullanılması web siteleri açısından son derece yararlıdır. Bu dosya dijital dünyanın kurallarına uygun bir web sitesine sahip olma noktasında son derece avantajlıdır. .htaccess dosyası herhangi bir web sitesi için güvenlik ayarlarından SEO uyumuna kadar gerekli olan tüm işlevleri sağlar. Web sitelerinde bulunan tüm verileri internet kurallarına uygun bir hale getirmesi nedeniyle web sitesinin çok daha kullanışlı bir hale gelmesinde önemli bir rol oynar.
Özel 404 Sayfaları ve .htaccess
Özel 404 sayfalarının yapılması son derece yararlı bir durumdur. URL sayfasının çalışmaması durumunda web sitesi kullanıcılarına hata mesajı iletilebilir. “404 Dosya Bulunamadı” hatası vermek yerine olası çözümleri açıklayan ve web sitesi içeriğine yönlendiren bir 404 sayfası görüntülenmesi sağlanabilir. Özel hata belgelerinin ayarlanabilmesi için şu adımlar izlenerek .htaccess dosyası meydana getirilmelidir.
htaccess ve Yönlendirme
Web sitesi kullanıcılarının web sitesinde bulunan herhangi bir belgeden bir diğerine yönlendirilmesi yeniden yönlendirme ile sağlanır. Bu durum özellikle web sitesi içeriğinin bir başka yere taşındığı ve eski bağlantılardan yeni içerik konumuna kullanıcıların yeniden yönlendirilmek istendiği durumlarda yararlıdır.
htaccess Kullanımı İle İlgili Bazı Örnek Komutlar
.htaccess dosyasına girilen komutlar .htaccess dosyasının bulunduğu dizini ve altındakileri etkilediğinden .htaccess dosyasının oluşturulduğu dizin konusunda çok dikkatli olunmalıdır.
Klasörlere erişimin engellenmesi istenilen durumlarda klasörün içinde .htaccess dosyası oluşturulur. İçine;
#deny all access
deny from all yazılmalıdır. Söz konusu klasöre yalnızca belirlenen IP adresiyle ve IP bloğu tarafından erişilmesi isteniyorsa;
#deny all access
deny from all
allow from 10.0.0.1 # tek ip adresi
allow from 192.168.0.0/24 # ip bloğu yazılmalıdır.
Tek bir dosya erişimi için;
<Files private.html>
Order allow,deny
Deny from all
</Files>
Bir klasördeki dosyaların listelenmesi için .htaccess dosyasına şunlar yazılmalıdır:
Options +Indexes +MultiViews +FollowSymlinks
<ifmodule mod_autoindex.c>
IndexOptions FancyIndexing
</ifmodule>
Klasördeki öntanımlı listenin iptal edilmesi için;
IndexIgnore * yazılmalıdır.
Sitenin bandwidth’inin yani bant genişliğinin korunabilmesi için PHP özelliklerinden biri olan veri sıkıştırmadan yararlanılabilir. Bunun için;
<ifModule mod_php4.c>
php_value zlib.output_compression 16386
</ifModule> komutu kullanılır.
Belirli dosyalara erişimin engellenmesi için Files direktifiyle birlikte Regular Expression kullanmak mümkündür. Bu şekilde konfigürasyon dosyalarına, robots.txt’ye ya da loglara erişimin engellenmesi için;
<Files ~ “^\.ht”>
Order allow,deny
Deny from all
Satisfy All
</Files> yazılabilir.
Ziyaretçilerin 404: Sayda Bulunamadı hatasıyla karşılaşacakları durumda istenilen bir dosyaya yönlendirme sağlanması için;
ErrorDocument 404 /errors/notfound.html yazılmalıdır.
Hotlinking’in engellenmesi için;
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://([-a-z0-9]+\.)?siteniz\.com[NC]
RewriteRule .*\.(zip|mp3|avi|wmv|mpg|mpeg)$ http://www.siteniz.com/img/nohotlink.gif [R,NC,L]
</ifModule> yazılması gerekir.
htaccess Dosyasının SEO Üzerindeki Etkisi
Kalıcı URL yönlendirmeleri olan 301 yönlendirmeleri web kullanıcılarını ve arama motoru botlarını değiştirilen sayfalara yönlendirir. Böylece arama motorları eski ve yeni web sayfalarını aynı anda taramak zorunda kalmayacağı için içerik sorununun yaşanması söz konusu olmaz.
Bir yanıt yazın