blob: 6714489a11ceb0f81e4e1c62e57dd73d240dd53b [file]
<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="tr"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="width=device-width, initial-scale=1" name="viewport">
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Yapılandırma B&ouml;l&uuml;mleri - Apache HTTP Sunucusu S&uuml;r&uuml;m 2.5</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet">
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size">
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css"><link rel="stylesheet" type="text/css" href="./style/css/prettify.css">
<script src="./style/scripts/prettify.min.js">
</script>
<link href="./images/favicon.png" rel="shortcut icon"></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">Mod&uuml;ller</a> | <a href="./mod/quickreference.html">Y&ouml;nergeler</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Report a bug</a></p>
<p class="apache">Apache HTTP Sunucusu S&uuml;r&uuml;m 2.5</p>
<img alt="" src="./images/feather.png"></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif"></a></div>
<div id="path">
<a href="https://www.apache.org/">Apache</a> &gt; <a href="https://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="https://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="./">S&uuml;r&uuml;m 2.5</a></div><div id="page-content"><div id="preamble"><h1>Yapılandırma B&ouml;l&uuml;mleri</h1>
<button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/sections.html" hreflang="fr" rel="alternate" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/sections.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/sections.html" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div>
<div class="outofdate">Bu &ccedil;eviri g&uuml;ncel olmayabilir. Son değişiklikler i&ccedil;in İngilizce s&uuml;r&uuml;m ge&ccedil;erlidir.</div>
<p><a href="configuring.html">Yapılandırma dosyaları</a>ndaki
y&ouml;nergeler sunucunun tamamına uygulanacağı gibi sadece belli dizinler,
dosyalar, konaklar veya URL'lere uygulanmakla sınırlanabilir. Bu
belgede, yapılandırma b&ouml;l&uuml;m&uuml; taşıyıcılarınının veya
<code>.htaccess</code> dosyalarının, yapılandırma dosyalarındaki diğer
y&ouml;nergelerin etki alanlarını değiştirtirmek i&ccedil;in nasıl kullanılacağı
a&ccedil;ıklanmıştır.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif"> <a href="#types">Yapılandırma B&ouml;l&uuml;m&uuml; Taşıyıcılarının T&uuml;rleri</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#file-and-web">Dosya Sistemi, Site Alanı ve Mantıksal İfadeler</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#virtualhost">Sanal Konaklar</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#proxy">Vekil</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#whatwhere">Hangi Y&ouml;nergelere İzin Veriliyor?</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#mergin">B&ouml;l&uuml;mler Nasıl Katıştırılır?</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="types">Yapılandırma B&ouml;l&uuml;m&uuml; Taşıyıcılarının T&uuml;rleri <a title="Permanent link" href="#types" class="permalink">&para;</a></h2>
<table class="related"><tr><th>İlgili Mod&uuml;ller</th><th>İlgili Y&ouml;nergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/core.html">core</a></code></li><li><code class="module"><a href="./mod/mod_version.html">mod_version</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#if">&lt;If&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code></li><li><code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>
<p>İki temel taşıyıcı t&uuml;r&uuml; vardır. Taşıyıcıların &ccedil;oğu her istek i&ccedil;in
değerlendirmeye alınır. Taşıyıcılardaki y&ouml;nergeler ise sadece bu
taşıyıcılarla eşleşen istekler i&ccedil;in uygulanır. Diğer yandan,
<code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code>,
<code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> ve
<code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
taşıyıcıları sadece sunucu başlatılırken veya yeniden başlatılırken
değerlendirmeye alınır. Başlatma sırasında gerektirdikleri koşullar
sağlanıyorsa i&ccedil;erdikleri y&ouml;nergeler t&uuml;m isteklere uygulanır. Aksi
takdirde, i&ccedil;erdikleri y&ouml;nergeler yok sayılır.</p>
<p><code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> y&ouml;nergesi
sadece <code class="program"><a href="./programs/httpd.html">httpd</a></code> komut satırında uygun parametreler
tanımlanmışsa uygulanabilecek y&ouml;nergeleri i&ccedil;erir. &Ouml;rneğin, aşağıdaki
yapılandırma ile t&uuml;m isteklerin diğer siteye y&ouml;nlendirilebilmesi sadece
sunucu <code>httpd -DClosedForNow</code> komut satırı ile başlatıldığı
takdirde m&uuml;mk&uuml;n olur:</p>
<div class="example"><p><code>
&lt;IfDefine ClosedForNow&gt;<br>
<span class="indent">
Redirect / http://otherserver.example.com/<br>
</span>
&lt;/IfDefine&gt;
</code></p></div>
<p><code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> y&ouml;nergesi
sadece belli bir mod&uuml;l&uuml;n sunucuda kullanılabilir durumda olması halinde
uygulanabilecek y&ouml;nergeleri i&ccedil;erir. Mod&uuml;l&uuml;n ya sunucuyla birlikte durağan
olarak derlenmiş olması ya da devingen olarak derlenmiş ve yapılandırma
dosyasında y&ouml;nergeden &ouml;nce o mod&uuml;le ilişkin bir <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> satırının bulunması gerekir. Bu
y&ouml;nergeyi sadece belli bir mod&uuml;l&uuml;n varlığının veya yokluğunun
yapılandırma dosyanızın &ccedil;alışmasını etkilememesini istediğiniz durumlarda
kullanmalısınız. Eksik mod&uuml;llerle ilgili hata iletilerini
engellediğinden, taşıyıcı i&ccedil;ine, her zaman &ccedil;alışması istenen y&ouml;nergeler
konulmamalıdır.</p>
<p>Aşağıdaki &ouml;rnekte, <code class="directive"><a href="./mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code> y&ouml;nergesi sadece
<code class="module"><a href="./mod/mod_mime_magic.html">mod_mime_magic</a></code> mod&uuml;l&uuml; mevcutsa uygulanacaktır.</p>
<div class="example"><p><code>
&lt;IfModule mod_mime_magic.c&gt;<br>
<span class="indent">
MimeMagicFile conf/magic<br>
</span>
&lt;/IfModule&gt;
</code></p></div>
<p><code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
y&ouml;nergesi sunucunun belli bir s&uuml;r&uuml;m&uuml;n&uuml;n &ccedil;alıştırılması halinde
uygulanabilecek y&ouml;nergeleri i&ccedil;erebilmesi dışında <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> ve <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> y&ouml;nergeleri gibidir.
<code class="module"><a href="./mod/mod_version.html">mod_version</a></code> mod&uuml;l&uuml; farklı httpd s&uuml;r&uuml;mleri ve farklı
yapılandırmalarla b&uuml;y&uuml;k ağlarda &ccedil;alışmayı m&uuml;mk&uuml;n kılmak veya s&uuml;r&uuml;m
denemeleri yapabilmek amacıyla tasarlanmıştır.</p>
<div class="example"><p><code>
&lt;IfVersion &gt;= 2.1&gt;<br>
<span class="indent">
# burası sadece 2.1.0 veya daha &uuml;st&uuml; s&uuml;r&uuml;mlerde<br>
# iş g&ouml;r&uuml;r.<br>
</span>
&lt;/IfVersion&gt;
</code></p></div>
<p><code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code>,
<code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> ve
<code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
y&ouml;nergelerinin &ouml;n&uuml;ne "!" konularak olumsuz koşullar i&ccedil;in uygulanabilir.
Ayrıca, bu b&ouml;l&uuml;mler daha karmaşık sınırlamalar elde etmek amacıyla bir
diğerinin i&ccedil;inde kullanılabilirler.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="file-and-web">Dosya Sistemi, Site Alanı ve Mantıksal İfadeler <a title="Permanent link" href="#file-and-web" class="permalink">&para;</a></h2>
<p>En sık kullanılan yapılandırma b&ouml;l&uuml;m&uuml; taşıyıcıları dosya sistemindeki
veya site alanındaki belli yerlerin yapılandırmalarını değiştirmekte
kullanılanlardır. &Ouml;ncelikle, bu ikisi arasındaki farkları bilmek
&ouml;nemlidir. Dosya sistemi disklerinizin işletim sistemi tarafından size
g&ouml;sterilen halidir. &Ouml;rneğin, &ouml;ntanımlı kurulumda Apache httpd, Unix
sistemlerinde <code>/usr/local/apache2</code> altındayken Windows
sistemlerinde <code>"c:/Program Files/Apache Group/Apache2"</code>
altındadır. (Bilgi: Windows i&ccedil;in bile, Apache httpd yapılandırma
dosyalarında dosya yolu belirtilirken tersb&ouml;l&uuml; değil normal b&ouml;l&uuml;
karakterleri kullanılır.) Site alanı ise sunucu tarafından istemciye
sunulan dizin ağacıdır. Yani, site alanı i&ccedil;indeki <code>/dir/</code>
dizini, Apache httpd'nin Unix &uuml;zerinde dosya sistemine &ouml;ntanımlı olarak
kurulduğu yer g&ouml;z &ouml;n&uuml;ne alınarak, dosya sistemindeki
<code>/usr/local/apache2/htdocs/dir/</code> dizinine karşılıktır. Site
sayfaları veritabanlarından veya başka yerlerden devingen olarak
&uuml;retilebildiğinden site alanlarının doğrudan dosya sistemine eşlenmesi
gerekli değildir.</p>
<h3 id="filesystem">Dosya Sistemi Taşıyıcıları</h3>
<p><code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>
ve <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>
taşıyıcıları, <a class="glossarylink" href="./glossary.html#regex" title="s&ouml;zl&uuml;ğe bakınız">d&uuml;zenli ifade</a> karşılıkları
ile beraber, y&ouml;nergeleri dosya sisteminin par&ccedil;alarına uygularlar. Bir
<code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> b&ouml;l&uuml;m&uuml;
i&ccedil;indeki y&ouml;nergeler belli bir dosya sistemi dizinine ve onun alt
dizinlerine uygulanır. Aynı etki <a href="howto/htaccess.html">.htaccess
dosyaları</a> kullanılarak da sağlanabilir. &Ouml;rneğin aşağıdaki
yapılandırmada, <code>/var/web/dir1</code> dizini ve alt dizinlerinde
dizin i&ccedil;eriğinin listelenmesi etkin kılınmaktadır.</p>
<div class="example"><p><code>
&lt;Directory /var/web/dir1&gt;<br>
<span class="indent">
Options +Indexes<br>
</span>
&lt;/Directory&gt;
</code></p></div>
<p>Bir <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> b&ouml;l&uuml;m&uuml;
i&ccedil;indeki y&ouml;nergeler, hangi dizinde bulunduğuna bakılmaksızın ismi
belirtilen dosyalara uygulanır. &Ouml;rneğin, aşağıdaki yapılandırma
y&ouml;nergeleri yapılandırma dosyasının ana b&ouml;l&uuml;m&uuml;ne yerleştirildiği takdirde
<code>gizli.html</code> isimli dosyalara nerede bulunursa bulunsun
erişime izin vermeyecektir.</p>
<div class="example"><p><code>
&lt;Files gizli.html&gt;<br>
<span class="indent">
Order allow,deny<br>
Deny from all<br>
</span>
&lt;/Files&gt;
</code></p></div>
<p>Dosya sisteminin belli bir yerindeki belli dosyalarla ilgili yaptırımlar
i&ccedil;in <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> ve
<code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> b&ouml;l&uuml;mleri
birlikte kullanılabilir. &Ouml;rneğin, aşağıdaki yapılandırma
<code>/var/web/dir1/gizli.html</code>,
<code>/var/web/dir1/subdir2/gizli.html</code>,
<code>/var/web/dir1/subdir3/gizli.html</code> ve
<code>/var/web/dir1/</code> altında bulunabilecek diğer t&uuml;m
<code>gizli.html</code> dosyalarına erişimi yasaklar.</p>
<div class="example"><p><code>
&lt;Directory /var/web/dir1&gt;<br>
<span class="indent">
&lt;Files gizli.html&gt;<br>
<span class="indent">
Order allow,deny<br>
Deny from all<br>
</span>
&lt;/Files&gt;<br>
</span>
&lt;/Directory&gt;
</code></p></div>
<h3 id="webspace">Site Alanı Taşıyıcıları</h3>
<p><code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> y&ouml;nergesi
ve y&ouml;nergenin <a class="glossarylink" href="./glossary.html#regex" title="s&ouml;zl&uuml;ğe bakınız">d&uuml;zenli ifade</a> karşılığı
site alanındaki i&ccedil;erik i&ccedil;in yapılandırmayı değiştirir. &Ouml;rneğin aşağıdaki
yapılandırma, <code>/gizli</code> ile başlayan URL yollarına erişimi
engeller. &Ouml;zellikle, <code>http://siteniz.mesela.dom/gizli</code>,
<code>http://siteniz.mesela.dom/gizli123</code> ve
<code>http://siteniz.mesela.dom/gizli/dir/dosya.html</code>
istekleri yanında <code>/gizli</code> ile başlayan diğer isteklere de
uygulanır.</p>
<div class="example"><p><code>
&lt;LocationMatch ^/gizli&gt;<br>
<span class="indent">
Order Allow,Deny<br>
Deny from all<br>
</span>
&lt;/LocationMatch&gt;
</code></p></div>
<p>Dosya sistemi ile etkileşime girmeyen herşey i&ccedil;in
<code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
y&ouml;nergesi gerekir. Aşağıdaki &ouml;rnekte, belli bir URL'nin
<code class="module"><a href="./mod/mod_status.html">mod_status</a></code> mod&uuml;l&uuml; tarafından sağlanan bir dahili
Apache eylemcisine nasıl eşlenebileceği g&ouml;sterilmiştir. Bu &ouml;rnek
i&ccedil;in dosya sisteminde <code>server-status</code> adında bir dosya
veya dizin bulunması gerekli değildir.</p>
<div class="example"><p><code>
&lt;Location /server-status&gt;<br>
<span class="indent">
SetHandler server-status<br>
</span>
&lt;/Location&gt;
</code></p></div>
<h3 id="overlapping-webspace">Site Alanında &Ccedil;akışma</h3>
<p>Belli b&ouml;l&uuml;mler ve y&ouml;nergeler değerlendirilirken &ccedil;akışan iki URL bir URL
olarak dikkate alınır. <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> y&ouml;nergesi i&ccedil;in bu ş&ouml;yle olurdu:</p>
<div class="example"><p><code>
&lt;Location /foo&gt;<br>
&lt;/Location&gt;<br>
&lt;Location /foo/bar&gt;<br>
&lt;/Location&gt;
</code></p></div>
<p>Diğer yandan <code class="directive"><a href="./mod/mod_alias.html#takma adlar">&lt;Takma
adlar&gt;</a></code> tam tersi eşlenir:</p>
<div class="example"><p><code>
Alias /foo/bar /srv/www/uncommon/bar<br>
Alias /foo /srv/www/common/foo<br>
</code></p></div>
<p>Aynısı <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code>
y&ouml;nergeleri i&ccedil;in de ge&ccedil;erlidir:</p>
<div class="example"><p><code>
ProxyPass /special-area http://special.example.com smax=5 max=10<br>
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
</code></p></div>
<h3 id="wildcards">Dosya Adı Şablonları ve D&uuml;zenli İfadeler</h3>
<p><code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>,
<code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> ve
<code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
y&ouml;nergelerinde, Standart C k&uuml;t&uuml;phanesindeki <code>fnmatch</code>
işlevindeki gibi kabuk tarzı dosya ismi kalıpları kullanılabilir. "*"
karakteri herhangi bir karakter dizisi ile eşleşirken "?" karakteri tek
tek karakterlerle ve "[<em>seq</em>]" kalıbı ise <em>seq</em> i&ccedil;indeki
her karakterle eşleşir. "/" karakteri her hangi bir kalıp karakteri ile
eşleşmez; a&ccedil;ık&ccedil;a belirtilmesi gerekir.</p>
<p>Daha esnek bir eşleşmenin gerekli olduğu durumlar i&ccedil;in her taşıyıcının
bir d&uuml;zenli ifade karşılığı vardır. <code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>, <code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code> ve <code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> y&ouml;nergelerinde gerekli
eşleşmeleri se&ccedil;mek i&ccedil;in perl uyumlu <a class="glossarylink" href="./glossary.html#regex" title="s&ouml;zl&uuml;ğe bakınız">d&uuml;zenli
ifadelerin</a> kullanımına izin verilir. Ayrıca, y&ouml;nergelerin
uygulanışının d&uuml;zenli ifade b&ouml;l&uuml;mleri kullanılarak nasıl
değiştirileceğini &ouml;ğrenmek i&ccedil;in, aşağıda, yapılandırmanın
katıştırılmasıyla ilgili b&ouml;l&uuml;me de bakınız.</p>
<p>T&uuml;m kullanıcı dizinlerine ilişkin yapılandırmayı değiştirmek i&ccedil;in dosya
ismi kalıpları ş&ouml;yle kullanılabilirdi:</p>
<div class="example"><p><code>
&lt;Directory /home/*/public_html&gt;<br>
<span class="indent">
Options Indexes<br>
</span>
&lt;/Directory&gt;
</code></p></div>
<p>D&uuml;zenli ifade b&ouml;l&uuml;mleri kullanarak &ccedil;eşitli t&uuml;rlerdeki resim dosyalarına
erişimi bir defada yasaklayabiliriz:</p>
<div class="example"><p><code>
&lt;FilesMatch \.(?i:gif|jpe?g|png)$&gt;<br>
<span class="indent">
Order allow,deny<br>
Deny from all<br>
</span>
&lt;/FilesMatch&gt;
</code></p></div>
<h3 id="expressions">Mantıksal İfadeler</h3>
<p><code class="directive"><a href="./mod/core.html#if">&lt;If&gt;</a></code> y&ouml;nergesi bir
mantıksal ifade olarak belirtilebilen bir kurala bağlı olarak
yapılandırmayı değiştirebilir. &Ouml;rneğin, aşağıdaki yapılandırmada,
<code>HTTP Referer</code> başlığı "http://www.example.com/" ile
başlamıyorsa erişimi yasaklar.</p>
<div class="example"><p><code>
&lt;If "!(%{HTTP_REFERER} -strmatch 'http://www.example.com/*')"&gt;<br>
<span class="indent">
Require all denied<br>
</span>
&lt;/If&gt;
</code></p></div>
<h3 id="whichwhen">Ne, Ne Zaman Kullanılır?</h3>
<p>Dosya sistemi taşıyıcıları ile site alanı taşıyıcıları arasında se&ccedil;im
yapmak aslında olduk&ccedil;a kolaydır. Dosya sisteminde bulunan nesnelere
uygulanacak y&ouml;nergeler i&ccedil;in daima <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> veya <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> kullanılır. Dosya sisteminde bulunmayan nesnelere
(bir sayfanın bir veritabanı tarafından &uuml;retilmesi gibi) uygulanacak
y&ouml;nergeler i&ccedil;in ise <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> kullanılır.</p>
<p>Dosya sistemindeki nesnelere erişimi kısıtlarken asla
<code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
kullanmamak &ouml;nemlidir. Bunun sebebi farklı site alanı konumlarının
(URL'ler) aynı dosya sistemi konumuna eşlenebilmesi dolayısıyla
kısıtlamalarınızın etrafından dolaşılabilmesine izin vermesidir.
&Ouml;rneğin, aşağıdaki yapılandırmayı ele alalım:</p>
<div class="example"><p><code>
&lt;Location /dir/&gt;<br>
<span class="indent">
Order allow,deny<br>
Deny from all<br>
</span>
&lt;/Location&gt;
</code></p></div>
<p><code>http://siteniz.mesela.dom/dir/</code> i&ccedil;in bir istek yapılmışsa
bu doğru &ccedil;alışacaktır. Fakat dosya sistemi harf b&uuml;y&uuml;kl&uuml;ğ&uuml;ne duyarsızsa
ne olacak? Kısıtlamanız, istek
<code>http://siteniz.mesela.dom/DIR/</code>
şeklinde yapılarak kolayca ge&ccedil;ersiz kılınabilir. Halbuki <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> y&ouml;nergesi isteğin
nasıl yapıldığına bakılmaksızın bu konumdan sunulan her t&uuml;rl&uuml; i&ccedil;eriğe
uygulanacaktı. (Dosya sistemi bağlarıyla bu da aşılabilir. Sembolik
bağlar kullanılarak aynı dizin dosya sisteminin bir &ccedil;ok yerine
yerleştirilebilir. <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> y&ouml;nergesi dosya yolunu sıfırlamaksızın sembolik
bağları izleyecektir. Bu bakımdan, en y&uuml;ksek seviyede g&uuml;venlik i&ccedil;in uygun
<code class="directive"><a href="./mod/core.html#options">Options</a></code> y&ouml;nergesi ile sembolik
bağların izlenmesi devredışı bırakılabilir.)</p>
<p>Belki de siz sırf harf b&uuml;y&uuml;kl&uuml;ğ&uuml;ne duyarlı bir dosya sistemi
kullanıyorsunuz diye b&ouml;yle uygulamalara ihtiyacınız olmadığını d&uuml;ş&uuml;n&uuml;yor
olabilirsiniz, fakat aynı site alanını &ccedil;ok sayıda dosya sistemi konumuna
eşleyecek daha bir s&uuml;r&uuml; yol bulunduğunu unutmayınız. Bu bakımdan dosya
sisteminde yapacağınız kısıtlamalarda daima dosya sistemi taşıyıcılarını
kullanmalısınız. Bununla birlikte bu kuralın da bir istisnası vardır.
Yapılandırma kısıtlamalarının bir <code>&lt;Location/&gt;</code> b&ouml;l&uuml;m&uuml;
i&ccedil;ine koyulması, bu b&ouml;l&uuml;me konan y&ouml;nergelerin etki alanının belli bir URL
ile sınırlı olmaması nedeniyle m&uuml;kemmelen g&uuml;venlidir.</p>
<h3 id="nesting">B&ouml;l&uuml;m i&ccedil; i&ccedil;eliği</h3>
<p>Bazı b&ouml;l&uuml;m t&uuml;rleri başka b&ouml;l&uuml;m t&uuml;rlerinin i&ccedil;inde olabilir. Bir yandan,
<code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> b&ouml;l&uuml;m&uuml;
<code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> b&ouml;l&uuml;m&uuml;n&uuml;n
i&ccedil;inde bulunabilirken diğer yandan bir <code class="directive"><a href="./mod/core.html#if">&lt;If&gt;</a></code> b&ouml;l&uuml;m&uuml; <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>, <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> ve <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> b&ouml;l&uuml;mlerinde bulunabilir.
Bu b&ouml;l&uuml;mlerin d&uuml;zenli ifadeli t&uuml;revleri de benzer tarzda davranır.</p>
<p>İ&ccedil; i&ccedil;e b&ouml;l&uuml;mler, aynı t&uuml;rdeki i&ccedil; i&ccedil;e olmayan b&ouml;l&uuml;mlerin sonrasına
yerleştirilir.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="virtualhost">Sanal Konaklar <a title="Permanent link" href="#virtualhost" class="permalink">&para;</a></h2>
<p><code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
taşıyıcısının i&ccedil;inde belli bir konağa uygulanan y&ouml;nergeler bulunur.
Aynı makinede &ccedil;ok sayıda konağı farklı yapılandırmalarla sunuyorsanız
bu taşıyıcı &ccedil;ok işinize yarar. Daha fazla bilgi i&ccedil;in
<a href="vhosts/">Sanal Konak Belgeleri</a> b&ouml;l&uuml;m&uuml;ne bakınız.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="proxy">Vekil <a title="Permanent link" href="#proxy" class="permalink">&para;</a></h2>
<p><code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code>
ve <code class="directive"><a href="./mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code>
taşıyıcıları, sadece belli bir URL ile eşleşen <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>
vekil sunucusu &uuml;zerinden erişilen sitelere uygulanan yapılandırma
y&ouml;nergelerini bulundururlar. &Ouml;rneğin aşağıdaki yapılandırma
<code>example.com</code> sitesine erişim i&ccedil;in vekil sunucunun
kullanılmasını engelleyecektir.</p>
<div class="example"><p><code>
&lt;Proxy http://example.com/*&gt;<br>
<span class="indent">
Order allow,deny<br>
Deny from all<br>
</span>
&lt;/Proxy&gt;
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="whatwhere">Hangi Y&ouml;nergelere İzin Veriliyor? <a title="Permanent link" href="#whatwhere" class="permalink">&para;</a></h2>
<p>Hangi y&ouml;nergelere hangi yapılandırma b&ouml;l&uuml;mlerinde izin verildiğini
&ouml;ğrenmek i&ccedil;in y&ouml;nerge <a href="mod/directive-dict.html#Context">bağlamına</a> bakınız. <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> b&ouml;l&uuml;mlerinde
izin verilen herşeye s&ouml;zdizimsel olarak ayrıca
<code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>,
<code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>,
<code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>,
<code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>,
<code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>,
<code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code>
ve <code class="directive"><a href="./mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code>
b&ouml;l&uuml;mlerinde de izin verilir. Yine de bazı istisnai durumlar
mevcuttur:</p>
<ul>
<li><code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> y&ouml;nergesi sadece
<code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>
b&ouml;l&uuml;mlerinde &ccedil;alışır.</li>
<li><code class="directive"><a href="./mod/core.html#options">Options</a></code> y&ouml;nergesinin
<code>FollowSymLinks</code> ve <code>SymLinksIfOwnerMatch</code>
se&ccedil;enekleri sadece <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> b&ouml;l&uuml;mlerinde veya <code>.htaccess</code>
dosyalarında &ccedil;alışır.</li>
<li><code class="directive"><a href="./mod/core.html#options">Options</a></code> y&ouml;nergesi
<code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> ve
<code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>
b&ouml;l&uuml;mlerinde kullanılamaz.</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="mergin">B&ouml;l&uuml;mler Nasıl Katıştırılır? <a title="Permanent link" href="#mergin" class="permalink">&para;</a></h2>
<p>Yapılandırma b&ouml;l&uuml;mleri belli bir sıra ile uygulanır. Yapılandırma
y&ouml;nergelerinin yorumlanışı &uuml;zerinde &ouml;nemli etkilere sahip olabilmesi
nedeniyle neyin ne zaman &ccedil;alıştığını anlamak &ccedil;ok &ouml;nemlidir.</p>
<p>Yapılandırma b&ouml;l&uuml;mlerinin katıştırılma sırası ş&ouml;yledir:</p>
<ol>
<li><code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> (d&uuml;zenli ifadeler hari&ccedil;)
ve <code>.htaccess</code> aynı anda işleme sokulur
(<code>.htaccess</code> ile eğer izin verilmişse <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> i&ccedil;indeki bazı
y&ouml;nergeler ge&ccedil;ersiz kılınabileceği i&ccedil;in).</li>
<li><code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>
(ve <code>&lt;Directory ~&gt;</code>).</li>
<li><code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> ve
<code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code> aynı anda
işleme sokulur.</li>
<li><code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
ve <code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>
aynı anda işleme sokulur.</li>
<li><code class="directive"><a href="./mod/core.html#if">&lt;If&gt;</a></code>
</li>
</ol>
<p><code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>
b&ouml;l&uuml;m&uuml;ndekiler hari&ccedil;, her grup, yapılandırma dosyasında bulundukları
sıraya g&ouml;re işleme sokulurlar. Yukarıda 1. grup olan <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> b&ouml;l&uuml;m&uuml; en kısa dizin
elemanından en uzun dizin elemanına doğru işleme sokulur. Yani, &ouml;rneğin,
<code>&lt;Directory /var/web/dir&gt;</code> b&ouml;l&uuml;m&uuml; <code>&lt;Directory
/var/web/dir/subdir&gt;</code> b&ouml;l&uuml;m&uuml;nden &ouml;nce işleme sokulacaktır. Eğer
aynı uzunlukta &ccedil;ok sayıda dizin varsa <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> b&ouml;l&uuml;mleri yapılandırma dosyasında
bulundukları sıraya g&ouml;re işleme sokulurlar. <code class="directive"><a href="./mod/core.html#include">Include</a></code> y&ouml;nergeleri ile yapılandırmaya dahil
edilen dosyaların i&ccedil;erikleri <code class="directive"><a href="./mod/core.html#include">Include</a></code>
y&ouml;nergesinin bulunduğu yere konulduktan sonra işleme sokulurlar.</p>
<p><code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
b&ouml;l&uuml;mlerinin i&ccedil;indeki b&ouml;l&uuml;mler, sanal konak tanımı dışındaki
karşılıklarından <em>sonra</em> uygulanırlar.</p>
<p>İstek <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> tarafından sunulduğu takdirde,
<code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code> taşıyıcısı
işlem sırasında <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> taşıyıcısının yerini alır.</p>
<p>Sonraki b&ouml;l&uuml;mler &ouml;ncekileri ge&ccedil;ersiz kılmak &uuml;zere işleme alınırlarsa da
her mod&uuml;l bu ge&ccedil;ersiz kılmaya sebep olan formu yorumlamaktan sorumludur.
Belli bir mod&uuml;l&uuml;l&uuml;n y&ouml;nergeleri bulunan sonraki yapılandırma b&ouml;l&uuml;mleri,
bazı y&ouml;nergelerin, t&uuml;m y&ouml;nergelerin veya mod&uuml;l yapılandırmasının
tamamının sonraki bağlamda a&ccedil;ık&ccedil;a listelenmiş mod&uuml;l &ouml;ntanımlıları ve
y&ouml;nergelerle bir kavramsal "katıştırmasına" sebep olabilir.</p>
<div class="note"><h3>Bazı Teknik Bilgiler</h3>
Aslında, isim d&ouml;n&uuml;ş&uuml;m aşamasından (<code>Aliases</code> ve
<code>DocumentRoots</code>, URL'leri dosya isimlerine eşlemek i&ccedil;in
kullanılırken) hemen &ouml;nce uygulanan bir
<code>&lt;Location&gt;</code>/<code>&lt;LocationMatch&gt;</code> dizisi
vardır. Bu dizinin sonu&ccedil;ları isim d&ouml;n&uuml;ş&uuml;m aşaması tamamlandıktan sonra
tamamen elden &ccedil;ıkarılır.
</div>
<h3 id="merge-examples">Bazı &Ouml;rnekler</h3>
<p>Aşağıdaki yapay &ouml;rnekte katıştırma sırası g&ouml;sterilmiştir. Hepsinin aynı
isteğe uygulandığı varsayımıyla, bu &ouml;rnekteki y&ouml;nergeler A &gt; B &gt; C
&gt; D &gt; E sırasıyla uygulanacaktır.</p>
<div class="example"><p><code>
&lt;Location /&gt;<br>
E<br>
&lt;/Location&gt;<br>
<br>
&lt;Files f.html&gt;<br>
D<br>
&lt;/Files&gt;<br>
<br>
&lt;VirtualHost *&gt;<br>
&lt;Directory /a/b&gt;<br>
B<br>
&lt;/Directory&gt;<br>
&lt;/VirtualHost&gt;<br>
<br>
&lt;DirectoryMatch "^.*b$"&gt;<br>
C<br>
&lt;/DirectoryMatch&gt;<br>
<br>
&lt;Directory /a/b&gt;<br>
A<br>
&lt;/Directory&gt;<br>
<br>
</code></p></div>
<p>Daha somut bir &ouml;rnek olarak aşağıdakini ele alalım.
<code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>
b&ouml;l&uuml;mlerindeki erişim sınırlamaları ne olursa olsun <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> b&ouml;l&uuml;m&uuml; son olarak
değerlendirmeye alınacak ve sunucuya sınırsız erişim verecektir.
Başka bir deyişle, katıştırma sırası &ouml;nemlidir, bu nedenle dikkatli
olmalısınız!</p>
<div class="example"><p><code>
&lt;Location /&gt;<br>
<span class="indent">
Order deny,allow<br>
Allow from all<br>
</span>
&lt;/Location&gt;<br>
<br>
# Alooo! Bu &lt;Directory&gt; b&ouml;l&uuml;m&uuml;n&uuml;n hi&ccedil;bir h&uuml;km&uuml; yok.<br>
&lt;Directory /&gt;<br>
<span class="indent">
Order allow,deny<br>
Allow from all<br>
Deny from kkadam.mesela.dom<br>
</span>
&lt;/Directory&gt;
</code></p></div>
</div></div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/sections.html" hreflang="fr" rel="alternate" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/sections.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/sections.html" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2026 The Apache Software Foundation.<br><a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> adı altında lisanslıdır.</p>
<p class="menu"><a href="./mod/">Mod&uuml;ller</a> | <a href="./mod/quickreference.html">Y&ouml;nergeler</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Report a bug</a></p></div><script><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
var langToggle = document.querySelector('.lang-toggle');
var topLang = document.querySelector('.toplang');
if (langToggle && topLang) {
langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); });
}
var qv = document.getElementById('quickview');
if (qv) {
document.body.appendChild(qv);
var qvBtn = document.createElement('button');
qvBtn.className = 'qv-toggle';
qvBtn.setAttribute('aria-label', 'Toggle page navigation');
qvBtn.innerHTML = '&#9776;';
document.body.appendChild(qvBtn);
qvBtn.addEventListener('click', function() {
var isOpen = qv.classList.toggle('open');
if (isOpen) {
qv.style.top = window.scrollY + 10 + 'px';
}
});
window.addEventListener('scroll', function() { qv.classList.remove('open'); });
}
//--><!]]></script>
</body></html>