]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_alias.xml.tr
c750975753ab819004619b098281513fd0051fae
[apache] / docs / manual / mod / mod_alias.xml.tr
1 <?xml version="1.0"?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
4 <!-- English Revision: 770506:944795 (outdated) -->
5 <!-- =====================================================
6  Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7    Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
9
10 <!--
11  Licensed to the Apache Software Foundation (ASF) under one or more
12  contributor license agreements.  See the NOTICE file distributed with
13  this work for additional information regarding copyright ownership.
14  The ASF licenses this file to You under the Apache License, Version 2.0
15  (the "License"); you may not use this file except in compliance with
16  the License.  You may obtain a copy of the License at
17
18      http://www.apache.org/licenses/LICENSE-2.0
19
20  Unless required by applicable law or agreed to in writing, software
21  distributed under the License is distributed on an "AS IS" BASIS,
22  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23  See the License for the specific language governing permissions and
24  limitations under the License.
25 -->
26
27 <modulesynopsis metafile="mod_alias.xml.meta">
28
29 <name>mod_alias</name>
30 <description>Belge ağacının parçalarının dosya sisteminin parçalarıyla
31 eşlenmesini sağlar ve URL yönlendirmesi yapar.</description>
32 <status>Base</status>
33 <sourcefile>mod_alias.c</sourcefile>
34 <identifier>alias_module</identifier>
35
36   <summary>
37     <p>Bu modülde bulunan yönergeler sunucuya istek olarak gelen URL’lerin
38       denetlenmesini ve değiştirilmesini mümkün kılar. <directive
39       module="mod_alias" >Alias</directive> ve <directive module="mod_alias"
40       >ScriptAlias</directive> yönergeleri URL’lerin dosya sisteminin
41       dizinlerine eşlenmesini sağlar. Böylece, kök dizini <directive
42       module="core">DocumentRoot</directive> ile belirtilen site belge ağacı
43       altında bulunmayan içeriğe erişmek mümkün olur. <directive
44       module="mod_alias" >ScriptAlias</directive> yönergesi buna ek olarak
45       hedef dizini sadece CGI betiklerini içeren dizin olarak imler.</p>
46
47     <p><directive module="mod_alias">Redirect</directive> yönergesi,
48       farklı bir URL ile yeni bir istek yapmaları için istemcileri
49       yönlendirmekte kullanılır. Çoğunlukla özkaynak başka bir yere
50       taşındığında kullanılır.</p>
51
52     <p><module>mod_alias</module> modülü basit URL değiştirme görevlerini
53       yerine getirmek için tasarlanmıştır. Sorgu dizgelerini işleme sokmak
54       gibi daha karmaşık görevler için <module>mod_rewrite</module> modülü ile
55       sağlanan araçlar kullanılır.</p>
56
57   </summary>
58
59   <seealso><module>mod_rewrite</module></seealso> <seealso><a
60     href="../urlmapping.html">URL’lerin Dosya sistemi ile Eşlenmesi</a>
61   </seealso>
62
63   <section id="order"><title>İşlem Sırası</title>
64
65     <p>Farklı bağlamlarda bulunan <directive module="mod_alias"
66       >Alias</directive> ve <directive module="mod_alias">Redirect</directive>
67       yönergeleri standart <a href="../sections.html#mergin">katıştırma
68       kuralları</a> ile ilgili diğer yönergeler gibi işleme sokulur. Fakat
69       aynı bağlam dahilinde (örneğin, aynı <directive type="section"
70       module="core">VirtualHost</directive> bölümünde) çok fazla <directive
71       module="mod_alias" >Alias</directive> ve <directive
72       module="mod_alias">Redirect</directive> varsa bunlar belli bir
73       sıraya göre işleme sokulurlar.</p>
74
75     <p>İlk adımda, <directive module="mod_alias">Alias</directive>’lardan önce
76       bütün <directive module="mod_alias">Redirect</directive> yönergeleri
77       işleme sokulur. Bu bakımdan bir <directive module="mod_alias"
78       >Redirect</directive> veya <directive module="mod_alias"
79       >RedirectMatch</directive> ile eşleşen bir istek için
80       hiçbir <directive module="mod_alias" >Alias</directive>
81       uygulanmayacaktır. İkinci adımda yapılandırma dosyasında yer aldıkları
82       sıraya göre <directive module="mod_alias" >Redirect</directive> ve
83       <directive module="mod_alias" >Alias</directive> yönergeleri işleme
84       sokulurlar, dolayısıyla ilk eşleşme öncelikli olmuş olur.</p>
85
86     <p>İlk eşleşmenin öncelikli olması sebebiyle, bu yönergelerin birden
87       fazlası aynı alt yola uygulandığı takdirde, tüm yönergelerin etkili
88       olabilmesi için en uzun yolu sıralamada en öne almalısınız. Örneğin
89       aşağıdaki yapılandırma beklendiği gibi çalışacaktır:</p>
90
91     <example>
92     Alias /foo/bar /baz<br />
93     Alias /foo /gaz
94     </example>
95
96     <p>Ama yukarıdaki iki satır ters sırada yerleştirilmiş olsaydı,
97       <code>/foo</code> rumuzu  daima <code>/foo/bar</code> rumuzundan önce
98       eşleşecek, dolayısıyla ikinci yönerge yok sayılacaktı.</p>
99
100   </section>
101
102 <directivesynopsis>
103 <name>Alias</name>
104 <description>URL’leri dosya sistemi konumlarıyla eşler.</description>
105 <syntax>Alias <var>URL-yolu</var>
106 <var>dosya-yolu</var>|<var>dizin-yolu</var></syntax>
107 <contextlist><context>server config</context><context>virtual host</context>
108 </contextlist>
109
110   <usage>
111
112     <p><directive>Alias</directive> yönergesi, belgelerin <directive
113       module="core">DocumentRoot</directive> dizininden farklı bir yerde
114       saklanmasını mümkün kılar. <code><em>URL-yolu</em></code> ile başlayan
115       URL’ler (% imlemesi çözüldükten sonra) <code><em>dizin-yolu</em></code>
116       ile başlayan yerel dosyalarla eşlenir. <code><em>URL-yolu</em></code>,
117       harf büyüklüğüne duyarsız sistemlerde bile harf büyüklüğüne
118       duyarlıdır.</p>
119
120     <example><title>Örnek:</title>
121       Alias /image /ftp/pub/image
122     </example>
123
124     <p><code>http://sunucum/image/foo.gif</code> şeklinde bir istek, sunucunun
125       <code>/ftp/pub/image/foo.gif</code> dosyasıyla yanıt vermesine sebep
126       olurdu. Sadece tam yol parçaları eşleştirilir; bu bakımdan yukarıdaki
127       <directive>Alias</directive> yapılandırması
128       <code>http://sunucum/imagefoo.gif</code> ile eşleşmez. Düzenli
129       ifadelerin kullanıldığı daha karmaşık eşleşmeler için <directive
130       module="mod_alias" >AliasMatch</directive> yönergesine bakınız.</p>
131
132     <p><code><em>URL-yolu</em></code>’nu bir <code>/</code> ile
133       sonlandırırsanız <directive>Alias</directive> yönergesini yorumlarken
134       sunucunun da sona bir <code>/</code> ekleyeceğine dikkat ediniz. Yani,
135       eğer</p>
136
137     <dl><dd><code>Alias /icons/ /usr/local/apache/icons/</code></dd></dl>
138
139     <p>diye bir tanım yaparsanız <code>/icons</code> URL’si için bir
140       <directive>Alias</directive> kullanılmayacaktır.</p>
141
142     <p><directive>Alias</directive> <em>hedefleri</em> için ek <directive
143       type="section" module="core" >Directory</directive> bölümleri
144       belirtmeniz gerekebileceğine dikkat ediniz. <directive type="section"
145       module="core" >Directory</directive> bölümlerinden önce yer alan
146       <directive>Alias</directive> yönergelerine özellikle bakılır,
147       dolayısıyla sadece <directive>Alias</directive> hedefleri etkilenir.
148       (Bununla birlikte, <directive>Alias</directive> yönergelerinden önce
149       işleme sokulan <directive type="section"
150       module="core">Location</directive> bölümlerinin uygulanacağına dikkat
151       ediniz.)</p>
152
153     <p>Özellikle, <directive module="core">DocumentRoot</directive> dışında
154       bir dizine bir <directive>Alias</directive> oluşturuyorsanız hedef
155       dizine doğrudan erişim izni vermeniz gerekebilir.</p>
156
157     <example><title>Örnek:</title>
158         Alias /image /ftp/pub/image<br />
159         &lt;Directory /ftp/pub/image&gt;<br />
160         <indent>
161             Order allow,deny<br />
162             Allow from all<br />
163         </indent>
164         &lt;/Directory&gt;
165     </example>
166   </usage>
167 </directivesynopsis>
168
169 <directivesynopsis>
170 <name>AliasMatch</name>
171 <description>URL’leri dosya sistemi konumlarıyla düzenli ifadeleri kullanarak
172 eşler.</description>
173 <syntax>AliasMatch <var>düzenli-ifade</var>
174 <var>dosya-yolu</var>|<var>dizin-yolu</var></syntax>
175 <contextlist><context>server config</context><context>virtual host</context>
176 </contextlist>
177
178   <usage>
179     <p>Bu yönerge <code><em>URL-yolu</em></code> ile eşleşmek üzere bir
180       <glossary ref="regex">düzenli ifade</glossary> kabul etmesi dışında
181       <directive module="mod_alias">Alias</directive> yönergesine eşdeğerdir.
182       Belirtilen düzenli ifade <code><em>URL-yolu</em></code> ile eşleşiyorsa
183       sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak dosya yolunu
184       elde eder. Örneğin, <code>/icons</code> dizinini etkinleştirmek için şu
185       yazılabilir:</p>
186
187     <example>
188       AliasMatch ^/icons(.*) /usr/local/apache/icons$1
189     </example>
190
191     <p>Ayrıca, <code><em>URL-yolu</em></code> ile harf büyüklüğüne duyarsız
192       eşleşmeler sağlayacak düzenli ifadeler de kullanılabilir:</p>
193
194     <example>
195       AliasMatch (?i)^/image(.*) /ftp/pub/image$1
196     </example>
197   </usage>
198 </directivesynopsis>
199
200 <directivesynopsis>
201 <name>Redirect</name>
202 <description>İstemciyi, bir yönlendirme isteği döndürerek farklı bir URL’ye
203 yönlendirir.</description>
204 <syntax>Redirect [<var>durum</var>] <var>URL-yolu</var>
205 <var>URL</var></syntax>
206 <contextlist><context>server config</context><context>virtual host</context>
207 <context>directory</context><context>.htaccess</context></contextlist>
208 <override>FileInfo</override>
209
210   <usage>
211     <p><directive>Redirect</directive> yönergesi istemciye bir yönlendirme
212       isteği döndürerek eski URL’yi yenisiyle eşler.</p>
213
214     <p>Eski <code><em>URL-yolu</em></code> bir bölü çizgisi ile başlar ve harf
215       büyüklüğüne duyarlıdır (% imlemesi çözüldükten sonra).
216       <code><em>URL-yolu</em></code> olarak göreli yollara izin verilmez.</p>
217
218     <p><code><em>URL</em></code> ise ya bir şema ve konak ismi ile başlayan
219       bir mutlak URL ya da bir bölü çizgisi ile başlayan bir URL yolu olabilir. İkinci durumda URL yolunun başına geçerli sunucu ismi ve şemayı sunucu ekler.</p>
220
221     <p><code><em>URL-yolu</em></code> ile başlayan istekler istemciye hedef
222       <code><em>URL</em></code> konumuna bir yönlendirme isteği olarak
223       dönecektir. <code><em>URL-yolu</em></code>’nun devamı niteliğindeki ek
224       yol hedef URL’ye eklenir.</p>
225
226     <example><title>Örnek:</title>
227       # Farklı bir konaktaki bir URL'ye yönlendirme<br />
228       Redirect /hizmet http://iki.mesela.dom/hizmet<br />
229       <br />
230       # Aynı konak üzerinde yönlendirme<br />
231       Redirect /bir /iki
232     </example>
233
234     <p>İstemcinin yaptığı <code>http://mesela.dom/hizmet/fesmekan.txt</code>
235       isteğine karşılık istemciye isteği
236       <code>http://iki.mesela.dom/hizmet/fesmekan.txt</code> olarak yapması
237       söylenecektir. Sadece tam yol parçaları eşleştirilir, bu nedenle
238       <code>http://mesela.dom/hizmetfesmekan.txt</code> isteği yukarıdaki
239       yönlendirme ile eşleşmeyecektir. Düzenli ifadelerin kullanıldığı daha
240       karmaşık eşleşmeler için <directive module="mod_alias"
241       >RedirectMatch</directive> yönergesine bakınız.</p>
242
243
244     <note><title>Bilginize</title>
245       <p>Yapılandırma dosyasında yer alış sırasına bakmaksızın
246         <directive>Redirect</directive> yönergeleri
247         <directive>Alias</directive> ve <directive>ScriptAlias</directive>
248         yönergelerinden önce ele alınır.</p></note>
249
250       <p>Herhangi bir <code><em>durum</em></code> belirtilmemişse "geçici"
251         yönlendirme (HTTP durum kodu: 302) yapılır. Bu, istemciye özkaynağın
252         geçici olarak başka yere taşındığını belirtir. Diğer HTTP durum
253         kodlarını döndürmek için kullanılabilecek <code><em>durum</em></code>
254         değerleri:</p>
255
256     <dl>
257       <dt><code>permanent</code></dt>
258       <dd>İstemciye özkaynağın kalıcı olarak taşındığını belirten kalıcı
259         yönlendirme durumu (301) döndürülür.</dd>
260
261       <dt><code>temp</code></dt>
262       <dd>İstemciye geçici yönlendirme durumu (302) döner. Bu öntanımlıdır.
263       </dd>
264
265       <dt><code>seeother</code></dt>
266       <dd>İstemciye özkaynağın yerine başka bir şey konduğunu belirten
267         "diğerine bak" durumu (303) döndürülür.</dd>
268
269       <dt><code>gone</code></dt>
270       <dd>İstemciye özkaynağın kalıcı olarak kaldırıldığını belirten "ölü
271         bağlantı" durumu (410) döner. Bu durumda <code><em>URL</em></code>
272         belirtilmez.</dd>
273     </dl>
274
275     <p>Diğer durum kodları için <code><em>durum</em></code> olarak sayısal
276       durum kodu belirtilir. Eğer durum 300 ile 399 arasındaysa bir
277       <code><em>URL</em></code> belirtmek gereklidir, yoksa belirtilmez.
278       Belirtilecek durum kodunu Apache’nin bilmesi gerektiğine dikkat ediniz
279       (<code>http_protocol.c</code> dosyasında bulunan
280       <code>send_error_response</code> işlevine bakınız).</p>
281
282     <example><title>Örnek:</title>
283       Redirect permanent /bir http://mesela.dom/iki<br />
284       Redirect 303 /yedi http://mesela.dom/baskabisey
285     </example>
286   </usage>
287 </directivesynopsis>
288
289 <directivesynopsis>
290 <name>RedirectMatch</name>
291 <description>Geçerli URL ile eşleşen bir düzenli ifadeye dayanarak bir harici
292 yönlendirme gönderir.</description>
293 <syntax>RedirectMatch [<var>durum</var>] <var>düzenli-ifade</var>
294 <var>URL</var></syntax>
295 <contextlist><context>server config</context><context>virtual host</context>
296 <context>directory</context><context>.htaccess</context></contextlist>
297 <override>FileInfo</override>
298
299   <usage>
300     <p>Bu yönerge <code><em>URL-yolu</em></code> ile eşleşmek üzere bir
301       <glossary ref="regex">düzenli ifade</glossary> kabul etmesi dışında
302       <directive module="mod_alias">Redirect</directive> yönergesine
303       eşdeğerdir. Belirtilen düzenli ifade <code><em>URL-yolu</em></code> ile
304       eşleşiyorsa sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak
305       dosya yolunu elde eder. Örneğin, tüm GIF dosyası isteklerini başka bir
306       sunucudaki aynı isimli JPEG dosyalarına yönlendirmek için şu
307       yazılabilir:</p>
308
309     <example>
310       RedirectMatch (.*)\.gif$ http://baska.sunucu.dom$1.jpg
311     </example>
312   </usage>
313 </directivesynopsis>
314
315 <directivesynopsis>
316 <name>RedirectTemp</name>
317 <description>İstemciyi, geçici bir yönlendirme isteği döndürerek farklı bir
318 URL’ye yönlendirir.</description>
319 <syntax>RedirectTemp <var>URL-yolu</var> <var>URL</var></syntax>
320 <contextlist><context>server config</context><context>virtual host</context>
321 <context>directory</context><context>.htaccess</context></contextlist>
322 <override>FileInfo</override>
323
324   <usage>
325     <p>Bu yönerge istemciye daima geçici yönlendirme durumu (302) döndürür.
326       Yani, <code>Redirect temp</code> ile aynı işi yapar.</p>
327   </usage>
328 </directivesynopsis>
329
330 <directivesynopsis>
331 <name>RedirectPermanent</name>
332 <description>İstemciyi, kalıcı bir yönlendirme isteği döndürerek farklı bir
333 URL’ye yönlendirir.</description>
334 <syntax>RedirectPermanent <var>URL-yolu</var> <var>URL</var></syntax>
335 <contextlist><context>server config</context><context>virtual host</context>
336 <context>directory</context><context>.htaccess</context></contextlist>
337 <override>FileInfo</override>
338
339   <usage>
340     <p>Bu yönerge istemciye daima kalıcı yönlendirme durumu (301) döndürür.
341       Yani, <code>Redirect permanent</code> ile aynı işi yapar.</p>
342   </usage>
343 </directivesynopsis>
344
345 <directivesynopsis>
346 <name>ScriptAlias</name>
347 <description>Bir URL’yi dosya sistemindeki bir yere eşler ve hedefi bir CGI betiği olarak çalıştırır.</description>
348 <syntax>ScriptAlias <var>URL-yolu</var>
349 <var>dosya-yolu</var>|<var>dizin-yolu</var></syntax>
350 <contextlist><context>server config</context><context>virtual host</context>
351 </contextlist>
352
353   <usage>
354     <p>Hedef dizini, <module>mod_cgi</module> modülünün CGI betiği
355       yorumlayıcısı tarafından çalıştırılacak betikleri içeren dizin olarak
356       imlemesi dışında <directive module="mod_alias">Alias</directive>
357       yönergesinin yaptığı işi yapar. <code><em>URL-yolu</em></code> ile
358       başlayan harf büyüklüğüne duyarlı URL’ler (% imlemesi çözüldükten
359       sonra), dosya sistemindeki bir tam yol olarak belirtilmiş
360       <code><em>dizin-yolu</em></code> ile başlayan betiklerle eşlenir.</p>
361
362     <example><title>Örnek:</title>
363       ScriptAlias /cgi-bin/ /siteler/cgi-bin/
364     </example>
365
366     <p><code>http://sunucum/cgi-bin/foo</code> şeklindeki bir istek sunucunun
367       <code>/siteler/cgi-bin/foo</code> betiğini çalıştırmasına sebep olur. Bu
368       yapılandırma aslında şuna eşdeğerdir:</p>
369
370     <example>
371       Alias /cgi-bin/ /siteler/cgi-bin/<br />
372       &lt;Location /cgi-bin &gt;<br />
373       <indent>
374       SetHandler cgi-script<br />
375       Options +ExecCGI<br />
376       </indent>
377       &lt;/Location&gt;
378     </example>
379
380     <p><directive>ScriptAlias</directive> yönergesini bir betik veya eylemci
381       ile birlikte de kullanabilirsiniz. Örnek:</p>
382
383     <example>
384          ScriptAlias /cgi-bin/ /siteler/cgi-handler.pl
385     </example>
386
387     <p>Bu senaryoda <code>/cgi-bin/</code>’den istenen tüm dosyalar sizin
388       belirttiğiniz dosya tarafından işleme sokulacaktır. Bu yöntemle kendi
389       özel eylemcinizi kullanabilirsiniz. İsterseniz, bunu içerik eklemek
390       ya da ısmarlama bir eylem için bir CGI sarmalayıcısı olarak da
391       kullanabilirsiniz.</p>
392
393     <note type="warning">Yapılandırma değiştiğinde kaynak kodlarının ister
394       istemez açığa çıkmasını istemiyorsanız CGI betiklerinizi <directive
395       module="core">DocumentRoot</directive> altına koymayınız.
396       <directive>ScriptAlias</directive> yönergesi URL’yi doğru yere
397       eşlemekten başka orayı bir CGI betikleri dizini olarak imler. CGI
398       betiklerinizi <directive module="core">DocumentRoot</directive> altına
399       koyarsanız çalıştırmak için <directive>ScriptAlias</directive> değil,
400       <directive module="core" type="section" >Directory</directive>,
401       <directive module="core">SetHandler</directive> ve <directive
402       module="core">Options</directive> yönergelerini örnekteki gibi kullanın:
403
404     <example>
405       &lt;Directory /usr/local/apache2/htdocs/cgi-bin &gt;<br />
406       <indent>
407       SetHandler cgi-script<br />
408       Options ExecCGI<br />
409       </indent>
410       &lt;/Directory&gt;
411     </example>
412
413      Aynı dosya sistemi konumu ile çok sayıda <code><em>URL-yolu</em></code>
414      eşleşebileceğinden, bir <directive module="core">Directory</directive>
415      bölümü ile sınırlanmadığı takdirde CGI betiklerinin kaynak kodları açığa
416      çıkabilir; bu bakımdan <directive>ScriptAlias</directive> yönergesini yok
417      sayan URL yollarının belirtilebilme olasılığı gözardı
418      edilmemelidir.</note>
419
420   </usage>
421   <seealso><a href="../howto/cgi.html">CGI Öğreticisi</a></seealso>
422 </directivesynopsis>
423
424 <directivesynopsis>
425 <name>ScriptAliasMatch</name>
426 <description>Bir URL’yi dosya sistemindeki bir yere düzenli ifade kullanarak
427 eşler ve hedefi bir CGI betiği olarak çalıştırır.</description>
428 <syntax>ScriptAliasMatch <var>düzenli-ifade</var>
429 <var>dosya-yolu</var>|<var>dizin-yolu</var></syntax>
430 <contextlist><context>server config</context><context>virtual host</context>
431 </contextlist>
432
433   <usage>
434     <p>Bu yönerge <code><em>URL-yolu</em></code> ile eşleşmek üzere bir
435       <glossary ref="regex">düzenli ifade</glossary> kabul etmesi dışında
436       <directive module="mod_alias">ScriptAlias</directive> yönergesine
437       eşdeğerdir. Belirtilen düzenli ifade <code><em>URL-yolu</em></code> ile
438       eşleşiyorsa sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak
439       dosya yolunu elde eder. Örneğin, standart <code>/cgi-bin</code> dizinini
440       etkin kılmak için şu yazılabilir:</p>
441
442     <example>
443       ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
444     </example>
445   </usage>
446 </directivesynopsis>
447
448 </modulesynopsis>