.htaccess çalışmaları

Sponsorlu Bağlantılar

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

UndeRqRo.uNd

Üye
    Konu Sahibi
.htaccess çalışmaları
Doayalarınıza internetten değil, yalnızca dosya sisteminden erişmeyi isterseniz klasörün içinde .htaccess dosyası oluşturup içine :

Kod:
#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 :

Kod:
#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 :

Kod:
Order allow,deny 
Deny from all

Klasör Listelemek

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

Kod:
Options +Indexes +MultiViews +FollowSymlinks 
IndexOptions FancyIndexing


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 :


Kod:
IndexIgnore *

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:


Kod:
php_value zlib.output_compression 16386

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:


Kod:
Order allow,deny 
Deny from all 
Satisfy All

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 :

Kod:
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.

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:

Kod:
RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://([-a-z0-9]+\.)?siteniz\.com[NC] 
RewriteRule .*\.(zip|mp3|avi|wmv|mpg|mpeg)$ siteniz.com [R,NC,L]

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.

Zararlı Bot’ları Engellemek

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


Kod:
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]

no-www Desteği

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


Kod:
Options +FollowSymlinks 
RewriteEngine on 
RewriteCond %{http_host} ^www\.siteismi\.com[nc] 
RewriteRule ^(.*)$ [URL]http://siteismi.com/$1[/URL] [r=301,nc]

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.

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

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.

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

Kod:
AuthUserFile /home/pathto/.htpasswd 
AuthType Basic 
AuthName “My Secret Folder” 
require valid-user

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)

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

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

Kod:
DirectoryIndex home.html index.htm index.html index.php
 


kaklen

kaklen

Üye
tskkurler gusel olmus
 
ALpeRenBuGRa

ALpeRenBuGRa

Üye
Yararli Bilgi.
 
ycg35

ycg35

Üye
gerçektende çok işime yaradı çok teşekkür ederim aradığım çoğu şeyi buldum ama birde subdomaini mesela sunucumuzdaki bir klasöre yönlendirmeyi htaccess ile yapabiliyormuşuz bunun kodlarını biliyorsanız paylaşabilirmisiniz çok lazım da :) şimdiden teşekkür ederim..
 
Ozan

Ozan

Admin
gerçektende çok işime yaradı çok teşekkür ederim aradığım çoğu şeyi buldum ama birde subdomaini mesela sunucumuzdaki bir klasöre yönlendirmeyi htaccess ile yapabiliyormuşuz bunun kodlarını biliyorsanız paylaşabilirmisiniz çok lazım da :) şimdiden teşekkür ederim..

RewriteEngine On
Options Indexes FollowSymlinks Multiviews
RewriteBase /
RewriteCond %{HTTP_HOST} forum.maxicep.com
RewriteCond %{REQUEST_URI} !forum/
RewriteRule ^(.*)$ http://www.maxicep.com/forumlar/$1 [L]

böyle bişey :)
 
alemburda

alemburda

Üye
bravo çok yararlı bilgi işime yarıyacak :sn:
 
ycg35

ycg35

Üye
RewriteEngine On
Options Indexes FollowSymlinks Multiviews
RewriteBase /
RewriteCond %{HTTP_HOST} forum.maxicep.com
RewriteCond %{REQUEST_URI} !forum/
RewriteRule ^(.*)$ http://www.maxicep.com/forumlar/$1 [L]

böyle bişey :)

denicem inşallah olurbedava host kullanıyorum 6 tane subdomain veriyor bu olursa gerçekten süper olcak :D baya bi rahatlıcam yani :D:D hmn deniyorum..

--------------- Ekleme ---------------

ya olmadı ya hata 500 başka bi kod varmı subdomain yönlendirme ile ilgili yada subdomaini dns ile yönlendirme gibi yöntemler varmı bn aradım bulamadımda :(..
 
ChavRash

ChavRash

Emekli Yönetici
DNS yapabilir misin bilmem ama yönlendirmek istediğin dizine aşağıdaki kodları kendine göre düzenleyip index.html içinde atarsan yönlendirmeyi yapabilirsin.

Not: "content="1;" daki 1 değerini 0 yaparsan yönlendirilen sayfada fazla bekleme olmaz.

Kod:
<title>[U]Site Başlığı[/U]</title>
<style type="text/css">
<!--
.style1 {
 font-family: Georgia, "Times New Roman", Times, serif;
 font-weight: bold;
}
-->
</style>
<div align="center" class="style1">[U]Yönlendiriliyorsunuz[/U]</div>
<meta http-equiv="refresh" content="[B]1[/B]; URL=[U]http://www.ysitesi.com/[/U]">
 
ycg35

ycg35

Üye
o yöntemi biliyorum olmucak galiba bu iş neyse yardımlarınız içn tşkkr ederim..
 
alemburda

alemburda

Üye
bilgi için saol araştırmıştım zaten bu konuyu :oke:
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Takipçi Satın Al


Üst Alt