İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

robots.txt ve .htaccess

Private

0
İyinet Üyesi
Katılım
5 Mart 2005
Mesajlar
98
Reaction score
0
herşeye izin vermek istiyorum bu dosyaların içeriği ne olmalıdır acaba?
 

keyfinebak.com

0
İyinet Üyesi
Katılım
6 Kasım 2005
Mesajlar
2,564
Reaction score
0
Konum
Merkezden
robots.txt dosyasını silersen herşeye izin vermiş olursun.

.htaccess url lerle ilgili rewrite yaptıysan o kalsın. ama robots.txt dosyasını silmen tüm içeriğinin indexlenmesi için yeterlidir.
 

keyfinebak.com

0
İyinet Üyesi
Katılım
6 Kasım 2005
Mesajlar
2,564
Reaction score
0
Konum
Merkezden
Robots.Txt Konusu

Robots.Txt Nedir ? Ne Değildir ?

--------------------------------------------------------------------------------

Arama motorları, belki de sitenizin ziyaretçilerinin büyük bir bölümü onlar sayesinde sizi buluyorlar ve takip etmeye başlıyorlar.

Bazen arama motorlarına sitenizi siz kaydetmek için başvuruyorsunuz, bazen de arama motorları Robot veya Bot denilen uygulamalarla sizin sitenizi buluyorlar.

Bu bulma işleminde ise sitenizde bulunan her linki özenle tarayıp kendi veritabanlarına kaydediyorlar. Bu sayede arama sonuçlarında sitenizde ne var ne yok ziyaretçileriniz öğrenebiliyor, bulabiliyor.

Ancak bazı durumlarda sitenizi indeksleyen bu robotlara hükmetmek isteyebilirsiniz:
Parola koruması olmayan fakat çoğu kişinin de görmesini istemeyeceğiniz bir sayfanız olabilir,
Bazı sayfalarınızdaki programların ve içerik sayılamayacak bilgilerin (cgi-bin dizini gibi) taranmasını istemeyebilirsiniz,
Ya da sadece fazla bandwidth kaybetmek istemeyip taramanın yapılmamasını isteyebilirsiniz.

Bu gibi durumlarda robotlara hükmetmek için elinizde bir fırsat bulunuyor: robots.txt dosyası. Bu dosya sitenizin ana dizininde bulunur ve arama motorlarının gönderdikleri robotlara bazı komutlar verir. Örneğin bu dosyadaki bir satır ile www.siteniz.com/infocus-tr adresinin arama motorlarında çıkmamasını sağlayabilirsiniz.

Sitenize ftp ile bağlandığınızda eğer robots.txt adında bir dosya yoksa bunu siz de oluşturabilirsiniz. Eğer böyle bir dosya yoksa her robot tüm site içeriğini indeksleyecektir.
Basit olarak robots.txt dosyasının içinde şu iki satır bulunur:

User-agent: *Disallow: /

Burada User-agent: satırı ve sonrasında gelen * işareti "Tüm robotlara alttaki komutu uygula" anlamına gelmektedir. Disallow: ise Türkçe karşılığıyla "İzin verme" demek olup, akabinde gelen / işaretiyle "tüm site içeriğini indeksleme" komutuna karşılık gelir.

Örnek olarak Google arama motorundan gelecek robotun, bizim sitemizdeki /infocus-tr klasöründeki hiçbir içeriği taramamasını istiyoruz. Bunun için kullanmamız gereken komut satırı:

User-agent: Googlebot

Disallow: /infocus-tr/

olacaktır. /infocus-tr./ yazmamızdaki neden ise baştaki / işareti kök dizini, sondaki / işaret ise infocus-tr'in dizin olduğunu vurgulamak içindir. Eğer siz sadece bir dosyayı indeksletmemek isterseniz, Disallow: /infocus-tr.html satırını da kullanabilirsiniz.

bol hitli günler

sevgi ve saygılarım la

.htaccess hakkında ;

Kaynak: Google.

Apache Server'da tek bir text dosyası ile tüm Web sitenizde değişiklikler yapabilirsiniz�

Evet bu marifetli text dosyasının adı (.htaccess). .htaccess Apache Web sunucularında (Yani Apache yazılımının kurulu olduğu Web sunucuları diyelim) bulunan çok önemli bir özelliktir. Basitçe anlatmak gerekirse, .htaccess dosyası Apache Web sunucusundaki, servis sağlayıcısının default olarak belirlemiş olduğu server konfigürasyonlarından bazılarını değiştirmenizi sağlar (Tabi servis sağlayıcınızın buna izin vermiş olması kaydıyla� Aşağıdaki örneklerden herhangi birini test ederek bunu anlamak mümkün).

.htaccess dosyası nedir?: .htaccess dosyası, aynen bu isimle kaydedilmiş bir text dosyasıdır. .htaccess dosyasını herhangi bir text editörünü kullanarak hazırlayıp Web sunucunuza yükleyebilirsiniz.

Ancak dikkat ediniz, yaptığınız en ufak bir kod hatası, Web sitenizin devre dışı kalmasına neden olur! Ama hemen korkmayın, eğer böyle bir şey olursa, yarattığınız .htaccess dosyasını sildiğinizde sorun giderilecektir.
Önemli: Başlamadan önce sürprizle karşılaşmamanız için bir uyarı. Bazı durumlarda .htaccess dosyasını silmek istediğinizde, ftp programında bir uyarı mesajı çıkabilir (Directory Not Empty!) ve dosyayı silemeyebilirsiniz. Bunun çözümü de basit� Hemen içinde hiçbir kod yazmayan bir .htaccess dosyası yaratıp Web sitenize geri yükleyin ve sonra bu dosyayı silin, olsun bitsin.

.htacces dosyasını nereye yükleyeceğiz?: Eğer .htaccess dosyası ile yaptığınız değişikliğin tüm Web siteniz için geçerli olmasını istiyorsanız, bu dosyayı Web sitenizin ana dizinine yüklemelisiniz. Yok hayır, sadece bir klasör içindeki dokümanları etkilesin diyorsanız o zaman yüklemeyi ilgili klasöre yapacaksınız.

Hokus pokus başlıyor! Hata sayfalarımızı özelleştirelim
Bilirsiniz, ziyaretçiler Web sitenizde bir sayfayı bulamayınca ya da bir server hatası olunca karşımıza (çoğu zaman İngilizce) bir hata sayfası çıkar. Bu sayfaları kendi web sayfanızın tasarımına uygun olarak özelleştirmek istemez misiniz?En sık karşılaşılan hata mesajları 404 Sayfa Bulunamadı ve 500 Server Hatası'dır.
Şimdi, bir .htaccess dosyası yaratıp içine aşağıdaki kodları yazın:

ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

Sonra 404.html ve 500.html olarak iki tane sayfa hazırlayın (içine istediğiniz gibi yazılarınızı ve tasarımınızı yerleştirin) ve hazırladığınız tüm dosyaları sunucunuza yükleyin. Şimdi web sitenizde bir sayfa bulunamadığında ya da bir hata olduğunda karşınıza sizin özel hazırladığınız sayfalar çıkacak! (html dosyalarına başka isimler de verebilirsiniz, 404.html ve 500.html yazmanız şart değil. Ama dosya adlarını .htaccess kodunda da değiştirmelisiniz.)

Bir sayfayı başka bir sayfaya yönlendirelim
Diyelim ki Web sitenizdeki bir sayfayı daha önceden birçok insan bookmark etmiş ve sürekli ziyaret ediyor. Ama siz bu sayfanın dizinini değiştirmek istiyorsunuz ve bunu yaptığınızda ziyaretçilerin eski sayfa adresine gittiğinde "Sayfa görüntülenemiyor!" mesajını almasını istemiyorsunuz. Kolayı var, işte .htaccess kodumuz:
Redirect /eski klasör/eski.html http://www.sitenizin adresi.com/yeni klasör/yeni.html
Yukarıdaki kodu kendi bilgilerinize göre özelleştirip web sitenize yükleyin.

Html dosyaları php kodlarını yorumlasın!
Bildiğiniz gibi php kodları ancak .php uzantılı web sayfalarında çalışır. Pekiyi diyelim ki .html uzantılarıyla 100 sayfalık bir site yaptınız, ve bir gün sitenizde php kullanmaya karar verdiniz� Şimdi bütün sayfaların uzantılarını ve sayfalar arasındaki linkleri tümden değiştirmeniz mi lazım?? Şüphesiz hayır.
AddType application/x-httpd-php .html
.htaccess dosyasına yazacağınız bu kod sayesinde .html uzantılı dosyalarınız php kodlarını sorunsuz olarak çalıştıracaktır. Eğer isterseniz .html yerine başka uzantı da yazabilir ya da birden fazla uzantıya php kullanımı için izin verebilirsiniz.
AddType application/x-httpd-php .html .htm .txt

Html sayfalarımda SSI çalışsın!
SSI (Server Side Include) Apache serverin sunduğu bir başka muhteşem özelliktir. Bu özellik sayesinde bir sayfayı bir başka sayfa içinde tek satır kod yazarak görüntülemek mümkündür (<!--#include virtual="sayfa.shtml" -->).
Eğer aksini belirtmezseniz bu özellik sadece .shtml ve .shtm uzantılı sayfalarda çalışır. Bu özelliği normal .html uzantılı dosyalarınızda kullanmak isterseniz�
AddType text/html .shtml
AddHandler server-parsed .html
Options Indexes FollowSymLinks Includes
Kodunu .htaccess dosyanıza yazmanız yeterlidir! İkinci satır sonundaki .html sunucuya (.html uzantılı dosyalarda SSI özelliğini kullan) der. İkinci satırdaki kodu başka uzantılar içinde ekleyerek bu özelliği diğer sayfalarınıza da verebilirsiniz:
AddType text/html .shtml
AddHandler server-parsed .html
AddHandler server-parsed .htm
Options Indexes FollowSymLinks Includes

Ana sayfamızı değiştirelim!
Web tarayıcınıza Web adresinizi yazdığınızda karşınıza ilk çıkan sayfa index.htm, index.html, default.htm gibi, sunucu tarafından önceden tanımlanmış default sayfadır.
Pek iyi diyelim ki sitenizin ana sayfasında güncelleme yapıyorsunuz ve bu süre içinde sitenizi kapatmak istemiyorsunuz. Ne yapacaksınız? Efendim? İndex sayfanızın adını mı değiştireceksiniz? Yok hiç gerek yok!
DirectoryIndex dosyaadı.html
Bu kodu ziyaretçilerin sitenize girdiği zaman ilk görmesini istediğiniz sayfaya göre değiştirin ve siz arka planda rahat rahat çalışın� İşiniz bitince .htaccess dosyasını siliverin.

Dizinin görüntülenmesini engelleyin
Bazı sunucularda eğer bir dizinde bir index sayfası bulunmuyorsa o dizin içindeki tüm dosyalar alt alta Web tarayıcısında görünür! Bu özellikle herkesin erişmesini istemediğimiz sayfaların bulunduğu (örneğin şifrelerimizin yazılı olduğu bir dosya olabilir) dizinlerde büyük bir güvenlik açığı yaratır. Hatayla index sayfasını silerseniz, başınıza iş açabilirsiniz. Bu sorunu engellemek için, aşağıdaki kodu özelleştirin ve korumak istediğiniz dizine yükleyin:
IndexIgnore *
Eğer bu dizinde sadece jpeg ve gif uzantılı resim dosyalarının görüntülenmesini istiyorsanız o zaman;
IndexIgnore *.gif *.jpg
yazın (Aynı formatta istediğiniz gibi bu satıra uzantı ekleyebilirsiniz).

İstemediğiniz kişiler sayfanıza girmesin!
Bazı dizinlerinize herkesin ulaşmasını istemeyebilirsiniz.
order allow,deny
deny from 123.45.6.7
deny from 012.34.5.
allow from all
Bu satırlar şu anlama geliyor� Bu dizindeki sayfalara Internete 123.45.6.7 ve 012.34.5. IP numarası ile bağlanan kişiler giremesin, diğer herkes girsin! IP numaraları superonline, ttn.net gibi bir servis sağlayıcı ile Internet'e bağlananlar için sürekli değişir, ancak kendi serverlarından bağlanan şirketler, kişiler için sabittir. İsterseniz kodu şöyle de yazabilirsiniz:
order allow,deny
deny from .superonline.com
allow from all
Bu şekilde sitenize superonline üzerinden erişimi engellemiş olursunuz (bunu neden yapmak gereği duyacağınızı sormayın, benim işim kodları anlatmak.)
Ya da;
order allow,deny
deny from all
allow from .superonline.com
 

keyfinebak.com

0
İyinet Üyesi
Katılım
6 Kasım 2005
Mesajlar
2,564
Reaction score
0
Konum
Merkezden
.htaccess devamı

yazarak sitenize sadece superonline üzerinden erişim sağlayabilir, diğerlerini bloke edebilirsiniz. Bu, özellikle sabit IP ile kendi serveri ile İnternete bağlanan bir şirkette, sadece çalışanların görmesi için bir dizin yaratmak için iyi bir alternatiftir (örnek: allow from .sirketiniz.com.)
.htaccess ile şifre ile girilen sayfalar yaratmak, site abone sistemleri yaratmak da mümkün. Ancak işin bu tarafını da anlatmak için en az bir bu kadar sayfaya daha ihtiyacım var ve bu sayıda maalesef bu kadar yerimiz yok. İsterseniz şimdilik bu örneklerle .htaccess dosyası ile tanışıp biraz antrenman yapalım.
Bazen keşke hayatımızın içinde de bir .htaccess dosyası olsaydı da iki satır kod yazıp her şeyi gönlümce değiştirseydim diyorum.
Sağlıkla kalın. ML
Dizin Erişimini Kısıtlama

Htaccess ile Kullanıcılara Kısıtlama

Htaccess Apache Web sunucusu ile birlikte gelen ve Apache Web sunucu üzerindeki belirli dizinlere erişim için kullanıcı adı ve parola sorgulaması yapmaya yarayan bir uygulamadır. Bu sayede özel dizinlere sadece sizin belirlediğiniz kullanıcılar erişebilir.

Bir Örnek verelim, http://www.rt.net.tr/cok_ozel adresine htaccess uygulayalım.

Bu dizin dosya sistemimizde /www/htdocs/cok_ozel olsun. httpd.conf dosyasını bir metin düzenleyicide açalım ve şu ifadeleri yazalım:

<Directory /www/htdocs/cok_ozel>
AllowOverride AuthConfig
</Directory>

AllowOverride AuthConfig ifadesi ile bu dizine erişim için httaccess kullanılması gerektigini belirtiyoruz.

htaccess nerede mi olacak? Tabiki /www/htdocs/cok_ozel dizini altında! Evet /www/htdocs/cok_ozel/ dizini altında .httaccess dosyasını oluşturun (Evet Nokta var! .htacces) ve içine:

AuthName "RT.NET Ozel Erisim Bolgesi !!!"
AuthType Basic
AuthUserFile /www/htdocs/cok_ozel/.htpasswd
require valid-user

yazınız...

Biraz Açıklayalım.

AuthName "RT.NET Ozel Erisim Bolgesi !!!" ifadesi ile http://www.rt.net.tr/cok_ozel yazıldığında karşınıza çıkan kullanıcı adı ve parola diyaloğundaki açıklayıcı bilgidir. Buraya istediğinizi yazabilirsiniz.

AuthType Basic ifadesini değiştirmeyin. Burada kimlik kanıtlama türü belirtiliyor.

AuthUserFile /www/htdocs/cok_ozel/.htpasswd, yukarıdaki ifade ile de kullanıcı adı ve parolaların saklandığı dosyanın TAM! yeri belirtiliyor. Evet Tam olarak dosyanın yeri belirtilmelidir.

require valid-user, bu en son ile bu dizine .htpasswd dosyasındaki kullanıcıların erişebiliceği belirtiliyor.

.htaccess dosyası tamam. Sıra .htpasswd dosyasını oluşturmaya geldi:

# /www/bin/htpasswd -c /www/htdocs/cok_ozel/.htpasswd yenigul

Yukarıdaki komut ile /www/htdocs/cok_ozel/ dizini altında .httpasswd oluşturulur ve yenigul kullanıcısı eklenir.

-c (creat) parametresi ile .htpasswd dosyası hiç yoktan oluşturulur. İkinci bir kullanıcı eklemek için bu ifadeyi kullanmayınız. İkinci kullanıcının eklenmesi,

# /www/bin/htpasswd /www/htdocs/cok_ozel/.htpasswd yakup

şeklinde olmalıdır.

.htaccess'i de bitirdik!

Dizinleri IP Adresine veya Alan Adına Göre Kısıtlama

Bu kısımda kısıtlama yapılacak adresimiz http://www.rt.net.tr/intranet olsun ve dosyalar /www/htdocs/intranet altında bulunsun.

Sadece belirli IP'lere erişimi verip diğerlerine yasak koymak için, örneğin 212.65.128 uzayındaki IP'lere erişim verelim:

<Directory /www/htdocs/intranet>
Order deny,allow
Allow from 212.65.128
Deny from All
%lt;/Directory>

Sadece belirli alan isimlerine erişim verip diğerlerine yasak koymak için, örnegin linux.org.tr alanına erişim verelim:

<Directory /www/htdocs/intranet>
Order deny,allow
Allow from linux.org.tr
Deny from All
</Directory>

Sadece belirli IP'lere yasak koyup diğerlerine izin vermek için, örnegin 195.1.2 uzayındaki IP'lere yasak koyalım:

<Directory /www/htdocs/intranet>
Order allow,allow
Allow from All
Deny from 195.1.2
</Directory>

Sadece belirli alan isimlerine yasak koyup diğerlerine izin vermek için, örnegin lamer.com alanına yasak koyalım:

<Directory /www/htdocs/intranet>
Order allow,deny
Allow from All
Deny from lamer.com
</Directory>

Yapılan değişikliklerin etkin olması için

# /www/bin/apachectl restart

komutunu veriniz..

Belgemizin sonuna geldik.

Sorunlarınızı ve önerilerinizi yukarıda belirttiğim e-posta adresimden bana ulaştırabilirsiniz.

Happy Linuxing
İSMAİL YENİGÜL

===============
.htaccess dosyasında birkaç değişiklik yaparak Apache üzerindeki sitenizde gizli klasörler oluşturabileceğinizi, hotlinking’i engelleyebileceğinizi, hatta zararlı bot’lardan korunabileceğinizi biliyor muydunuz? Bu yazı Apache .htaccess tweaking tutorial makalesinin Türkçe çevirisi olup bazı eklemeler ve değişiklikler içerebilir.
Not: .htaccess (Hypertext Access), Apache’nin klasör düzeyinde ayarlara izin veren, genel ayar dosyasındaki direktifleri özelleştirebilen dosyadır.
1. Klasörlere Erişim

Bir klasöre tüm erişimi engellemek istiyorsanız (mesela program kaynak kodlarınızı barındıran bir klasörünüz olabilir; bu durumda klasöre internetten değil, yalnızca dosya sisteminden erişmeyi isteyebilirsiniz) klasörün içinde .htaccess dosyası oluşturup içine

#deny all access
deny from all

yazmanız yeterli. Eğer bu klasöre yalnızca belirlediğiniz ip adresiyle veya ip bloğu tarafından erişilmesini istiyorsanız

#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

yazmanız yeterli. Tek bir dosya için erişimi engellemek için ise yazmanız gereken şu:

<Files private.html>
Order allow,deny
Deny from all
</Files>

2. Klasör Listelemek

Bir klasördeki dosyaların listelenmesini istiyorsanız .htaccess dosyasına şunları yazmanız gerekiyor:

Options +Indexes +MultiViews +FollowSymlinks
<ifmodule mod_autoindex.c>
IndexOptions FancyIndexing
</ifmodule>

Bunun için sunucunuzda autoindex modülünün yüklü olması gerekiyor. Klasördeki öntanımlı listelemeyi iptal etmek için ise şu satır yeterli:

IndexIgnore *

3. Sıkıştırma

Sitenizin bant genişliğini (bandwidth) korumak için bir php özelliği olan veri sıkıştırmayı kullanabilirsiniz. .htaccess dosyasına şunu eklemelisiniz:

<ifModule mod_php4.c>
php_value zlib.output_compression 16386
</ifModule>

4. Dosyaları Gizlemek

Belirli dosyalara erişimi engellemek için Files direktifiyle birlikte Regular Expression kullanabilirsiniz. Örnek olarak konfigürasyon dosyalarına, robot.txt’e veya log’lara erişimi engellemek isteyebilirsiniz. Aşağıdaki örnek klasördeki .ht ile başlayan dosyalara erişimi engellemektedir.

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

5. Özel HTTP 404 Hata Sayfası

Ziyaretçileriniz “404: Sayfa Bulunamadı” hatasıyla karşılaşacaklarında sizin istediğiniz bir dosyaya yönlenmelerini sağlamak için şu kodu kullanın:

ErrorDocument 404 /errors/notfound.html

Bu şekilde diğer hata kodlarını da özelleştirebilirsiniz. Dikkat! Internet Explorer 512 bayttan küçük hata sayfalarıyla karşılaştığında, MSN search gibi bağlantıların bulunduğu kendi hata sayfasını kullanıcıya göstermektedir. Belirttiğiniz hata sayfasının 512B’tan büyük olduğuna emin olun.
6. Hotlinking’i Engellemek

Hotlinking basitçe sizin sitenizdeki bir resmi, videoyu başka bir sitenin göstermesine denir. Bu durumda olan sizin bandwidth’inize olur. Örnek olarak sitenizin dışında kullanılan bazı dosyalara erişimi engelleyip nohotlink.gif adında bir resim dosyası gönderen şu koda bakalım:

<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>

Kod basitçe siteniz.com dışından çağırılan zip, mp3 ve bazı video dosyaları yerine nohotlink.gif dosyasını gösteriyor. Dikkat! Eğer resim hotlink’lerini engellerseniz site dışından istenen tüm resimleri engelleyeceksiniz. Bu durumda mesela feedburner gibi bir hizmet kullanıyorsanız bu hizmet için kodunuzu değiştirmeniz gerekecektir.
 

keyfinebak.com

0
İyinet Üyesi
Katılım
6 Kasım 2005
Mesajlar
2,564
Reaction score
0
Konum
Merkezden
.htacess devam

7. Kötü Bot’ları Engellemek

Sitenizi kullanan veya tamamen indirmek isteyen bot’lara karşı .htaccess dosyasını kullanabilirsiniz:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:[email protected] [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} ^Express\ WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [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} ^Internet\ Ninja [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} ^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} ^pcBrowser [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]
</ifModule>

8. no-www Desteği

Siz de sitelerde www subdomain’inin kullanılmasına karşıysanız bu kod işinizi görecektir:

<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{http_host} ^www\.example\.com[nc]
RewriteRule ^(.*)$ http://example.com/$1 [r=301,nc]
</ifModule>

9. Hangi Dili Kullandığınızı Saklamak

Dosyalarınızın uzantılarını değiştirip .htaccess dosyasına bir kural ekleyerek hangi dili kullandığınızı ziyaretçilerinizden saklayabilirsiniz. Aşağıdaki örnek sayesinde .133t uzantılı dosyalar PHP dosyaları gibi işlenecektir.

# Make PHP code look like unknown types
AddType application/x-httpd-php .133t

10. Değişik İpuçları

* .htaccess dosyasını olabildiğince küçük tutun. Çünkü her dosya isteğinde sunucu tarafından kontrol edilirler.
* .htaccess dosyasını düzenli tutun. Kurallar arttıkça dosyayı anlaması zorlaşacaktır. # kullanarak her bölüme açıklama yazın.
* URL’i yeniden tanımladığınız, bir önceki sayfaya yönlenen kurallarda (Nohotlink örneği gibi) [L] özelliğini ekleyin. Bu sunucuya, başka bir kuralı uygulamamasını belirtir.
* .htaccess kurallarının alt klasörlerde de geçerli olduğunu, alt klasördeki .htaccess kuralının ise üzerindeki kuralları değiştirebileceğini düşünün.

11. .htpasswd ile Şifre Koruması

İstediğiniz dosya veya klasörlere şifre eklemek için şu adımları takip edin:

* Şifrelemek istediğiniz klasörde .htpasswd dosyası oluşturun.
* Dosya içeriği kullanıcıadı:şifre tarzındadır. Kullanıcı adı düz metindir. Şifrenin ise şifrelenmiş olması gerekir. Şifrenizi almak için şu adresi kullanabilirsiniz.
* Dosyayı kendi bilgisayarınızda oluşturup sunucuya upload ettiyseniz ASCII mode kullandığınızdan emin olun.
* Şimdi .htaccess dosyanızı düzenleyin. Kural, düzenlediğiniz dosyanın bulunduğu klasörde ve alt klasörlerinde geçerli olacaktır:

AuthUserFile /home/pathto/.htpasswd
AuthType Basic
AuthName “My Secret Folder”

<LIMIT GET POST>
require valid-user
</LIMIT>

Kuralı tek dosya için oluşturmak istiyorsanız kodu direktifi içinde kullanmalısınız.
* .htaccess dosyanızın erişilebilir olmadığına emin olun. (bkz. 1. başlık)

12. Öntanımlı Sayfayı Değiştirmek

Öntanımlı sayfa bilgisini aşağıdaki şekilde, sıraya dikkat ederek değiştirebilirsiniz:

DirectoryIndex home.html index.htm index.html index.php

Kaynaklar

* Apache .htaccess tweaking tutorial
* .htaccess tips and tricks
* Selective hotlinking prevention through .htaccess
* Behind the Scenes with Apache’s .htaccess
* Hiding PHP
* Apache mod_rewrite Kopya Kağıdı

===============
Word Press Admin Bölümü ve .htaccess

Word Press blog yazılımı olarak beklentilerimin tamamını karşılamasa da yuvarlanıp gidiyoruz işte. Bu aralar arama motorları ile işim gereği biraz daha fazla uğraşmam gerektiği için google, yahoo ve bilumum arama motorlarında blogumla ilgili nelerin indexlendiğini takip ediyorum. Siz de takip etmek isterseniz yapmanız gereken:

site:www.siteadi.com şeklinde arama yapmanız. “site” operatörünün güzel tarafı, google ve yahoo’nun resim indexlerinde de sonuçları görebilmeniz. Bu operatörü kullanarak sitenizin arama motorlarındaki hayali resmini görebiliyorsunuz.

Benim sayfam için yahoo’da yaptığım aramada ilk çıkan sonuç ne hikmetse word press’in admin giriş sayfası oluyor. Tabi admin sayfasının alenen açık olması çok hoş bir durum değil. Bunu engellemek için aldığım önlemi yazmayı düşündüm, böylelikle siz de kendi blogunuzda uygulayabilirsiniz.

apache’nin kimlik denetimi ve yetkilendirme için kullandığı .htaccess ve .htpasswd ikilisini kullanarak wp-admin dizinine erişimi şifreli hale getiriyoruz.

Bunun için .htaccess dosyasını word press admin dizinin altına yerleştirmeniz gerekiyor: blog ana dizini/wp-admin/.htaccess

“.htpasswd” dosyası erişiminiz olan başka bir dizinde bulunabilir. Benim örneğimde, “.htpasswd” dosyası “.htaccess” ile aynı dizinde bulunuyor.

.htaccess içeriği: AuthType Basic AuthName “Sifre Gerekiyor” AuthUserFile “/home/public_html/blog/wp-admin/.htpasswd” require valid-user

.htpasswd dosyası için shell den:
htpasswd -c .htpasswd kullanici_adi

şeklinde yazmanız yeterli. Sonrasında bu kullanıcı için şifre belirliyorsunuz, kullanıcı adı ve şifre ikilisi .htpasswd dosyasına yazılıyor.

Örnek .htpasswd : ali:zOSE9NzIxzoYo veli:bcrFMwAnWVM2A

Bu kadar yapmanız yeterli, artık wp-admin dizinine bağlanmak istediğinizde apache kullanıcı adı ve şifre girmenizi isteyecek.

Daha detaylı bilgi için apache’nin tutorial’ına bakabilirsiniz.

http://www.sonofnights.com

bu kadar emek sarfeden arkadaş saolsun varolsun :) robots.txt ve htaccess hakkında güzel bilgiler. umarım işinize yarar.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst