.Htaccess'in Temelleri

Yazan makale:
  • Hosting Rehberleri
  • Güncelleme: Haziran 29, 2013

Bir Sunucunun .htaccess Dosyasını Anlamak, Web Tasarım ve Geliştirmenin Temel Bileşenidir

En amatör web hosting istemcileri ve yeni web geliştiricileri, herhangi bir sunucu kurulumunun en önemli parçasının yüklü yazılım olduğunu varsayar. Popüler yazılımlar ve kapsamlı veritabanı hücreleri ve tabloları tarafından kontrol edilen gelişmiş içerikler oluşturma umuduyla, ASP tabanlı veya PHP tabanlı uygulamalarını ateşli bir şekilde kurdular. Ancak bu faaliyetin telaşı içinde, hemen hemen her geliştirici başlangıçta sunucunun en önemli ve güçlü dosyalarından birini yok sayar. Bu dosya ".htaccess" dosyası olarak bilinir ve sitenin içeriğini göremeyen kullanıcılar için şifre korumalı sayfalara, permalink yapısına her türlü form hata mesajını kontrol eder.

".Htaccess" dosyası, varsayılan olarak sunucunun kök ortak dizininde bulunur. Linux sunucularında, bu dizine hemen hemen her zaman "public_html" denir. Bu dosyanın gücünden yararlanmak isteyen alt klasörler için, ikincil bir ".htaccess" dosyası yerleştirilebilir her alt klasörde ve sunucunun kendisindeki diğer dizinde. ".Htaccess" dosyası bulunan bir dizindeki her dosya veya klasör, dosyanın ayrı kodlanmış bir sürümü tarafından geçersiz kılınmadığı sürece dosyanın izinlerini ve yönergelerini devralır. Kulağa karmaşık geliyorsa, bunun nedeni sunucu davranışını kontrol etmek için oldukça gelişmiş bir tekniktir. Bununla birlikte, öğrenmek imkansız değildir. Müşterileri barındıran bir geliştirici veya acemi web sunucularını bu dosyayı kullanarak nasıl kontrol edeceğini öğrendiklerinde, bir ".htaccess" dosyasının zorlukla anlaşılan, yalnız işe yarayan bir sıkıntı olduğu günlere dönmek imkansızdır.

Şifre Koruma Dizinleri .htaccess Dosyası ile bir Snap

Web hosting sunucu güvenliği, hemen hemen her müşterinin, herhangi bir belirli hosting firmasına veya sunucu teknolojisine bağlı olmadan önce gördüğü bir şeydir. Çoğunlukla, Windows ve Linux sunucuları eşit derecede güvenlidir, bilgiyi saklamak zorunda olmayanları formdan uzak tutar. Ancak bu sadece bilgisayar korsanlarına ve kötü niyetli web komut dosyalarına karşı savunmak kadar doğrudur. Belirli dosya veya dizinleri koruyan şifre söz konusu olduğunda, tüm işlerin ya sunucu teknolojilerinden ya da güvenlik özelliklerinden ayrı olarak .htaccess dosyasıyla yapılması gerekir.

.Htaccess dosyasının basit, sıralı programlama dili ve teknikleriyle ortaya koyduğu gibi, bu dizinleri koruyan kendine özgü bir stili vardır. Bu durumda, bir kullanıcı korunacak dizini basitçe tanımlar ve daha sonra bu dizinin dosyaya girmesi için gerekli parametreleri ayarlar. Bu şifre, yalnızca bir dosyaya, dizinin tamamına veya tipik bir web tarayıcısı üzerinden erişildiğinde sunucunun kendisine uygulanabilir. Bir dosya veya dizin şifresinin basit, tek satırlı kurulumu, tamamen doldurulduğu ve başlatıldığı zaman aşağıdaki örneğe benzer.

AuthUserFile /public_html/secure/files/.htpasswd
AuthGroupFile / dev / null
AuthName EnterPassword
AuthType Basic
kullanıcı güvenli kullanıcı gerektirir

Bu kod satırları ".htpasswd" adında yeni bir dosya ile eşleştirilmiştir. Bu dosya, güvenilen dizinde bulunur ve kullanıcılara korunan bilgilere erişim izni verecek kullanıcı adı ve parola içerir. Yukarıdaki örnekte, yalnızca "secureUser" adlı kullanıcının dizine erişim verilebileceği belirtilmiş ve kullanıcının sadece biraz yukarısında yer alan "AuthName EnterPassword" kod satırı tarafından belirlenen şifre girilmelidir. tanım.

Korunan dizinde oluşturulacak ".htpasswd" dosyasında, kullanıcıların sadece tek bir kod satırı eklemesi gerekir. Biçim basittir; Her kullanıcı ve şifre kombinasyonu, kolonlar kullanılarak ayrılır. Bu, dosyaya "kullanıcı: şifre" ekleyeceği anlamına gelir. Bu durumda, örnek olarak "secureUser: securedirectorypassword1" olur. Bu, tüm olası erişim kodlarını ve kullanıcı adlarını tanımlayacaktır. Site yöneticileri, ".htpasswd" dosyasında "kullanıcı güvenli erişim" özelliğini kaldırması koşuluyla, bu listede kesinlikle birden fazla kullanıcı ve parola içerebilir. Alternatif olarak, aynı kullanıcı adı için birden çok parola tanımlayabilirler ve bu kod satırını koruyabilirler, eğer doğru parola ".htpasswd" dosyasından silinirse herhangi bir zamanda erişimin belirli kişilerden veya gruplardan iptal edilebilmesini sağlarlar.

Bu konuda daha fazla bilgi edinmek için şunu okuyun: Linux Paylaşımlı Hosting Hesabınızla .htpasswd Kullanımı.

Web Sitesi İçeriği ve Statik Sayfalara Kolayca Erişilmesi Gereken Bağlantıların Tanımlanması

Üretken ".htaccess" dosyasının en yaygın güncel kullanımlarından biri, dosyanın parametrelerini anlamsal olarak kolay tanımlamaktır.Kalıcı"WordPress veya MovableType gibi içerik yönetim yazılımlarını kullanırken site içeriği ve statik sayfalar için. Bu, kullanıcıların site içeriğini hatırlamalarına ve yeniden yüklemelerine yardımcı olmakla kalmaz, aynı zamanda bir web sitesinin büyük arama motorlarındaki arama sıralamasını da geliştirir. Bu arama motorları belirlemek için semantik dostu URL'ler kullanır. Herhangi bir sayfada hangi içeriğin bulunduğu ve içeriğin URL ile eşleşip eşleşmediği Bir başlık URL eşleşmesi, kullanıcının aradığı bilgileri bulabileceği daha fazla yetki ve daha yüksek bir olasılığa işaret eder. permalink yapısını kullanırken büyük arama motorları.

WordPress'i sitelerinin sunucularına yüklemiş olan kullanıcılar için, yükleme işlemi sırasında hemen hemen bir gereksinim olarak aşağıdaki satır eklenir - özellikle yazılımın 3.0 ve daha yeni sürümlerinden daha yeni sürümleriyle. Kod satırı, aşağıdaki örnekte olduğu gibi görünür ve dünya çapında 60 milyondan fazla kendi kendine barındırılan WordPress müşterisinden daha fazla standarttır.

Yeniden yazma motoru
RewriteBase /
RewriteCond% {REQUEST_FILENAME}!-F
RewriteCond% {REQUEST_FILENAME}!-D
RewriteRule. /index.php [L]

Yine, ".htaccess" dosya programlama talimatlarının hat-by-line yapısını görmek kolaydır. Bu birkaç basit kod satırı, sunucuyu, içerik yönetimi yazılım çözümünün kendisinden kaynaklanan tüm URL'lerin temeli olarak WordPress "index.php" dosyasını kullanmasını söyler. Bu dosyayı bir temel olarak kullanmak ve giriş başlıklarını permalinks olarak yeniden yazmak, URL yeniden yazmak temelde "kolay" URL'ler oluşturmak için veritabanı izinlerini dosya izinleriyle birleştirir. URL'lerini yeniden yazmak için bir ".htaccess" dosyasının değiştirilmesi, PHP ve ASP tabanlı içerik yönetimi yazılım çözümlerinden sadece arkadaşça URL'lerin oluşturulmasının bir yolu olmasa da şu anda liderdir.

Son zamanlarda Yer Değiştirilen İçeriğe Yerel veya Uzak Arama Motorlarını Yönlendirme

Permalinks, rastgele yeniden yerleştirilen içerik ve yoğun yönlendirmeler sürecini ortadan kaldırmak için tasarlanırken, problemi tamamen ortadan kaldırmamışlardır. Gerçekten de, herhangi bir içerik yönetim çözümünün kontrol panelinde permalinkler yönetilebilir; Bir kullanıcının permalink yapısını değiştirdiği an, CMS yazılımının içindeki her şey eksik olabilir ve arama motorlarına ve kullanıcılara hatalar atabilir. Bu, müşterileri yönlendiren ve büyük arama motorlarına "görünmez" hata veren çok basit bir ".htaccess" koduyla sorun olarak ortadan kaldırılabilir. Kod şu:

301 / arşiv / / geçmiş girişleri yönlendirin /

Bu yönlendirme, eski ve yeni URL'leri yan yana listelenen eski URL ile yan yana yerleştirir. Sunucuya tarayıcılar ve arama motoru "örümcekler" de bir 301 yönlendirme hatası atmasını bildirir, ancak bu hata hiçbir zaman son kullanıcı tarafından görülmez. Bunun yerine, bir 301 yeniden yönlendirme, sahnelerin arkasında oluşan görünmez bir hatadır. Kullanıcı otomatik olarak yeni yola ve yeni içeriğe alınırken, tarayıcı ve arama motoru "301" ifadesinin "kalıcı olarak taşındığı" anlamına geldiğini anlıyor. Hem tarayıcı hem de bu hatayı alan herhangi bir arama motoru, yeni URL'yi yansıtmak için kayıtlarını hemen günceller ve eski olanı hemen kaldıracaklardır.

Bu, müşterileri kaybetmeden yeni bir alan adına geçmek için harika bir yoldur. Eski sunucudaki ".htaccess" dosyası, tamamen yeni bir alan adında, yukarıda sunulan kod satırında küçük bir değişiklikle içeriğe işaret etmek için kullanılabilir. Aynı sunucudaki iki göreli yola işaret etmek yerine, bu durumda 301 yönlendirme kodu aşağıdaki gibi görünür:

301 / http://www.your-domain-name.com yönlendirme

Bu, sunucunun, kök dizinde veya alt klasörlerde, yeni sunucu adına, eski sunucuda olduğu gibi aynı yoldan herhangi bir şey göndermesini bildirir. Tüm bu değişiklikler gerçek alan adıdır. Yine, 301 hata kodunu kullandığından, arama motorları yeni alan adını yansıtacak şekilde kayıtlarını otomatik olarak günceller. Bu sadece kullanılabilirlik için harika bir araç değil, aynı zamanda bir web sitesinin arama motoru sıralamalarını kaybetmesini de engelliyor. Baştan başlamak yerine, arama motorları bunun yeni bir lokasyonda aynı web sitesi olduğunu anlayacaktır. Eski algılarını ve sıralamalarını koruyacaklar ve yönetici bu benzersiz alanlar arasında hareket etmekten büyük ölçüde faydalanacak.

Görünmeyen Hatalar ve Siteden Ziyaretçiler için Gerçek Hata Sayfalarına Yönlendirme

".Htaccess" dosyasının, arama motorlarını görünmez biçimde güncellerken kullanıcıları yeni içeriğe yönlendirmede uzman olduğu kesinlikle doğrudur, ancak bu benzersiz dosya, içerik eksik olduğunda, görüntülenemiyorsa veya kodlandığında belirli hata sayfalarını görüntülemek için de kullanılabilir sayfanın yüklenmesini engelleyen bir yol. Bu, sunucunun üç haneli hata koduna dayanan ekran için belirli bir sayfa belirterek yapılır. Bu kodlar Apache ve IIS gibi hizmetlere entegre edilmiştir, bu nedenle ".htaccess" dosyasının ötesinde yapılandırma için gerçek bir ihtiyaç yoktur. Aşağıdaki örnek, eksik sayfalar ve dizinler için "404 hatası" olarak bilinen dünyanın en yaygın hata sayfasını ele almaktadır.

ErrorDocument 404 /404.html

Bir kullanıcı artık mevcut olmayan bir bağlantıdan veya bir alt klasörden silindiğinde, otomatik olarak ".htaccess" dosyası tarafından özelleştirilip, özel olarak tasarlanabilen bilgilendirici ve yardımcı 404 hata sayfasına yönlendirilir. web sitesi yöneticisi. Bu, kayıp sayfaya alternatifler sunmayan basit ve kayıpsız bir hata sayfasıyla göndermek yerine onları tekrar katın içine getirmenin harika bir yoludur.

Aynı süreç, hemen hemen her sunucu tabanlı sayfa yükleme hatası türü için tamamlanabilir. Bu, çoğu kullanıcının karşılaştığı tipik "sayfa bulunamadı" aksamasına ek olarak 401, 403 ve 500 sunucu hatalarını içerir. Her bir hata kodunun anlamını araştırdığınızdan emin olun ve kullanıcıları mevcut site içeriğine kolaylıkla getirecek her hata için özel olarak yazılmış bir mesaj ve site tasarımı sunun. Bir sitenin navigasyon veya mantıksal başarısızlıklarının bile fırsatlara ve başarılara dönüştürülmesinin en iyi yoludur.

Tüm Else Başarısız Olduğunda, Birkaç Basit Satır Koduna Sahip Ban Kullanıcıları

Çoğunlukla, ".htaccess" dosyası, ortalama kullanıcının lehine çalışacak şeyler için kullanılır. Bu, diğer harika özelliklerin yanı sıra hata sayfalarını, özel yönlendirme yöntemlerini ve "arkadaş canlısı" permalink URL'lerini içerir. Ancak bu dosya, bazı kullanıcıların web sitesine tamamen erişimi engellendiğinden emin olmak için de kullanılabilir. Site yorumlarını "spam" edenleri yasaklamak, sıklıkla okuyucular arasında aksaklığa yol açan veya tartışmaya neden olanları yasaklamak ya da yalnızca erişim haklarını sorumlu bir şekilde ele alamamak için harika bir yoldur.

Bir sitenin bütünlüğünü korumak ve diğer okuyucuların, yalnızca birkaç kötü elmanın olduğu gibi, diğer web sitelerine geçiş yapmadığından emin olmak için ".htaccess" dosyası, belirli IP adreslerinin veya tüm aralıkların (veya "blokların") yasaklanmasını sağlar. IP adresleri. Bu, tüm ülkelerin yasaklanabileceği, tüm İSS'lerin yasaklanabileceği veya tüm devletlerin, toplulukların veya kuruluşların günlük içeriğinin okunması ve sorunlara yol açması için başka yerlere gitmeye zorlanabileceği anlamına gelir. Sitenin ".htaccess" dosyasında çalıştırıldığında, kullanıcının yasaklanması işlemi şu şekilde görünür:

tüm izin
158.23.144.12 deny from
24.100 deny from

Yukarıdaki örnekte, sitenin, 158.23.144.12 IP adresinden ziyaret edenler hariç tüm IP adreslerinden gelen ziyaretçilere izin vermesi için talimat verilir. Ayrıca, 24.100 IP adresi aralığındaki tüm ziyaretçilerin bir siteye erişimi engellenir. Bu aralık muhtemelen bir internet servis sağlayıcısının müşteri tabanının bir sitenin içeriğini okumasını yasaklıyor. Bununla birlikte, emin olun ki, bu bazen korkunç durumlarda gerekli.

.Htaccess Dosyasını Paylaşma ve Bazı Power Over Site İşlevlerini Kullanma

.Htaccess dosyasıyla ilgili en iyi şey, sunucu yöneticilerinin, aksi takdirde çok ileri düzeyde kabul edilen veya sunucuya "root" erişimi gerektiren ayarları kontrol etmelerine izin vermesidir. Bu dosya, erişimi, hataları, yönlendirmeleri ve hatta URL yapısını ve semantik anlamlarını yönetmek için harika bir yoldur. Mastering, bir sitenin yeni ve geri gelen ziyaretçilerini korumak ve güçlendirmek için anahtardır.

Jerry Low tarafından yazılmış makale

Geek baba, SEO veri bağımlısı, yatırımcı ve Web Hosting Secret'ın kurucusu. Jerry, 2004'ten beri İnternet varlıkları kuruyor ve para kazanıyor. Akılsızca karalamalar yapmayı ve yeni yiyecekleri denemeyi sever.