]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_setenvif.xml.tr
Merge in APR[-util] macros from branches/trunk-buildconf-noapr
[apache] / docs / manual / mod / mod_setenvif.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: 1180828:1782252 (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_setenvif.xml.meta">
28
29 <name>mod_setenvif</name>
30 <description>Ortam değişkenlerinin isteğin özelliklerine uygun olarak atanmasını sağlar</description>
31 <status>Base</status>
32 <sourcefile>mod_setenvif.c</sourcefile>
33 <identifier>setenvif_module</identifier>
34
35
36 <summary>
37
38     <p><module>mod_setenvif</module> modülü dahili ortam değişkenlerinin
39       isteğin farklı bileşenlerinin belirttiğiniz düzenli ifade ile eşleşmesine
40       bağlı olarak atanmasını mümkün kılar. Bu ortam değişkenleri sunucunun
41       çeşitli kısımlarında yapılacak eylemlerin yanında CGI betiklerinde ve SSI
42       sayfalarında kullanılabilir hale gelmelerine karar verilirken
43       kullanılır.</p>
44
45     <p>Yönergeler yapılandırma dosyasında yer aldıkları sıraya göre ele
46       alınırlar. Böylece daha karmaşık dizilimler kullanılabilir, bu örnekteki
47       tarayıcı Mozilla ise <code>netscape</code> ortam değişkeni atanmakta,
48       MSIE ise atanmamaktadır.</p>
49
50     <example>
51       BrowserMatch ^Mozilla netscape<br />
52       BrowserMatch MSIE !netscape<br />
53     </example>
54 </summary>
55
56 <seealso><a href="../env.html">Apache HTTP Sunucusundaki Ortam Değişkenleri</a></seealso>
57
58 <directivesynopsis>
59 <name>BrowserMatch</name>
60 <description>Ortam değişkenlerini HTTP kullanıcı arayüzüne göre belirler.
61 </description>
62 <syntax>BrowserMatch <em>düzifd [!]ort-değişkeni</em>[=<em>değer</em>]
63 [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</syntax>
64 <contextlist><context>server config</context>
65 <context>virtual host</context><context>directory</context>
66 <context>.htaccess</context></contextlist>
67 <override>FileInfo</override>
68
69 <usage>
70   <p><directive>BrowserMatch</directive> yönergesi <directive
71     module="mod_setenvif" >SetEnvIf</directive> yönergesinin özel bir halidir
72     ve ortam değişkenlerine <code>User-Agent</code> HTTP istek başlığının
73     değerine göre atama yapar. Aşağıdaki iki satır aynı etkiye sahiptir:</p>
74
75   <example>
76     BrowserMatchNoCase Robot is_a_robot<br />
77     SetEnvIfNoCase User-Agent Robot is_a_robot<br />
78   </example>
79
80   <p>Başka örnekler:</p>
81
82   <example>
83       BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br />
84       BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br />
85       BrowserMatch MSIE !javascript<br />
86   </example>
87 </usage>
88 </directivesynopsis>
89
90 <directivesynopsis>
91 <name>BrowserMatchNoCase</name>
92 <description>Ortam değişkenlerini HTTP kullanıcı arayüzünün harf büyüklüğüne
93 duyarsız eşleşmelerine bağlı olarak belirler.</description>
94 <syntax>BrowserMatchNoCase <em>düzifd [!]ort-değişkeni</em>[=<em>değer</em>]
95 [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</syntax>
96 <contextlist><context>server config</context>
97 <context>virtual host</context><context>directory</context>
98 <context>.htaccess</context></contextlist>
99 <override>FileInfo</override>
100
101 <usage>
102
103     <p><directive>BrowserMatchNoCase</directive> yönergesi sözdizimsel ve
104       anlamsal olarak <directive
105       module="mod_setenvif">BrowserMatch</directive> yönergesinin eşdeğeridir.
106       Ancak, eşleşmelerde harf büyüklüğüne duyarsızdır. Örnek:</p>
107
108     <example>
109         BrowserMatchNoCase mac platform=macintosh<br />
110         BrowserMatchNoCase win platform=windows<br />
111     </example>
112
113     <p><directive>BrowserMatch</directive> ve
114       <directive>BrowserMatchNoCase</directive> yönergeleri <directive
115       module="mod_setenvif">SetEnvIf</directive> ve <directive
116       module="mod_setenvif">SetEnvIfNoCase</directive> yönergelerinin özel
117       halleridir. Bu bakımda aşağıdaki iki satır aynı etkiye sahiptir:</p>
118
119     <example>
120       BrowserMatchNoCase Robot is_a_robot<br />
121       SetEnvIfNoCase User-Agent Robot is_a_robot<br />
122     </example>
123 </usage>
124 </directivesynopsis>
125
126 <directivesynopsis>
127 <name>SetEnvIf</name>
128 <description>Ortam değişkenlerini isteğin özniteliklerine göre atar.
129 </description>
130 <syntax>SetEnvIf <em>öznitelik
131     düzifd [!]ort-değişkeni</em>[=<em>değer</em>]
132     [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</syntax>
133 <contextlist><context>server config</context>
134 <context>virtual host</context><context>directory</context>
135 <context>.htaccess</context></contextlist>
136 <override>FileInfo</override>
137
138 <usage>
139     <p><directive>SetEnvIf</directive> yönergesi ortam değişkenlerini isteğin
140       özniteliklerine göre tanımlar. İlk bileşen olarak belirtilen
141       <code><em>öznitelik</em></code> şu dört şeyden biri olabilir:</p>
142
143     <ol>
144       <li>Bir HTTP istek başlığı alanı (ayrıntılı bilgi için bak: <a
145         href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a>);
146         örneğin: <code>Host</code>, <code>User-Agent</code>,
147         <code>Referer</code> ve <code>Accept-Language</code>.  Bir düzenli
148         ifade kullanılarak birden fazla istek başlığı  belirtilebilir.</li>
149
150       <li>İsteğin aşağıdaki bileşenlerinden biri:
151         <ul>
152           <li><code>Remote_Host</code> - isteği yapan istemcinin konak ismi
153             (varsa)</li>
154
155           <li><code>Remote_Addr</code> -isteği yapan istemcinin IP adresi</li>
156
157           <li><code>Server_Addr</code> - isteği alan sunucunun IP adresi
158             (sadece 2.0.43 sonrası sürümler için)</li>
159
160           <li><code>Request_Method</code> - kullanılan yöntemin ismi
161             (<code>GET</code>, <code>POST</code>, vs.)</li>
162
163           <li><code>Request_Protocol</code> - İsteğin yapıldığı protokolün
164             ismi ve numarası ("HTTP/0.9", "HTTP/1.1" gibi)</li>
165
166           <li><code>Request_URI</code> - HTTP istek satırında belirtilen
167             özkaynak; genellikle sorgu dizgesi olmaksızın şema ve konak ismini
168             içeren bir URL parçasıdır. Sorgu dizgeleriyle eşleşmeler hakkında
169             ayrıntılı bilgi edinmek için <module>mod_rewrite</module>
170             modülünün <directive module="mod_rewrite">RewriteCond</directive>
171             yönergesinin açıklamasına bakınız.</li>
172         </ul>
173       </li>
174
175       <li>İstek ile evvelce ilişkilendirilmiş bir ortam değişkeninin ismi. Bu
176         sayede önceki bir eşleşmenin sonucuna karşı yeni bir sınama yapma
177         imkanı ortaya çıkar. Böyle bir sınama için sadece evvelce
178         <code>SetEnvIf[NoCase]</code> yönergeleri ile yapılmış atamalardaki
179         ortam değişkenleri kullanılabilir.  ‘Evvelce’ derken, sunucu genelinde
180         veya bölüm içinde bu yönergeden önce yer alan
181         <code>SetEnvIf[NoCase]</code> yönerge satırları kastedilmektedir.
182         Ortam değişkenlerinin dikkate alınabilmesi için istek öznitelikleri
183         arasında hiçbir eşleşme olmaması ve <code><em>öznitelik</em></code>
184         olarak bir düzenli ifade belirtilmemiş olması gerekir.</li>
185     </ol>
186
187     <p>İkinci bileşen (<code><em>düzifd</em></code>) bir <glossary
188       ref="regex">düzenli ifade</glossary>dir.  <code><em>düzifd</em></code>
189       ile <code><em>öznitelik</em></code> eşleştiği takdirde yönergenin kalan
190       bileşenleri değerlendirmeye alınır.</p>
191
192     <p>Kalan bileşenler atanacak ortam değişkenlerinin isimleri ve isteğe
193       bağlı olarak bunlara atanacak değerlerden oluşur. Bunlar şöyle
194       belirtilebilir:</p>
195
196     <ol>
197       <li><code><em>değişken-adı</em></code> veya</li>
198
199       <li><code>!<em>değişken-adı</em></code> ya da </li>
200
201       <li><code><em>değişken-adı</em>=<em>değer</em></code></li>
202     </ol>
203
204     <p>İlk biçemde değişkene "1" değeri atanır. İkincisinde atanmış bir
205       değişken atanmamış yapılır. Üçüncüsünde ise değişkene belirtilen
206       <code><em>değer</em></code> bire bir atanır. 2.0.52 sürümünden itibaren
207       Apache httpd parantezli düzenli ifadelerin sonuçları ile değiştirilmek
208       üzere <code><em>value</em></code> içinde <code>$1</code>..<code>$9</code>
209       gösterimleri tanınmaktadır.</p>
210
211     <example><title>Örnek:</title>
212       SetEnvIf Request_URI "\.gif$" nesne_bir_resim=gif<br />
213       SetEnvIf Request_URI "\.jpg$" nesne_bir_resim=jpg<br />
214       SetEnvIf Request_URI "\.xbm$" nesne_bir_resim=xbm<br />
215             :<br />
216       SetEnvIf Referer belgeler\.alanismi\.mesela\.dom dahili_site_istendi<br />
217             :<br />
218       SetEnvIf object_is_image xbm XBIT_PROCESSING=1<br />
219             :<br />
220       SetEnvIf ^TS  ^[a-z]  TS_VAR<br />
221     </example>
222
223     <p>İlk üçünde istek bir resim dosyası için yapılmışsa
224       <code>nesne_bir_resim</code> ortam değişkeni atanmakta, dördüncüsünde
225       istenen sayfa <code>belgeler.alanismi.mesela.dom</code> adlı sitede
226       bulunuyorsa <code>dahili_site_istendi</code> ortam değişkeni
227       atanmaktadır.</p>
228
229     <p>Son örnekte ise istekte "TS" ile başlayıp [a-z] arasındaki
230       karakterlerle devam eden bir başlık alanı varsa <code>TS_VAR</code>
231       ortam değişkeni atanmaktadır.</p>
232 </usage>
233
234 <seealso><a href="../env.html">Apache HTTP Sunucusundaki Ortam Değişkenleri</a>
235 belgesinde daha fazla örnek bulunabilir.</seealso>
236 </directivesynopsis>
237
238 <directivesynopsis>
239 <name>SetEnvIfExpr</name>
240 <description>Bir ap_expr ifadesine dayanarak ortam değişkenlerine değer atar</description>
241 <syntax>SetEnvIfExpr <em>ifade
242     [!]ort-değişkeni</em>[=<em>değer</em>]
243     [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</syntax>
244 <contextlist><context>server config</context>
245 <context>virtual host</context><context>directory</context>
246 <context>.htaccess</context></contextlist>
247 <override>FileInfo</override>
248
249 <usage>
250     <p><directive>SetEnvIfExpr</directive> yönergesi bir
251       <directive type="section">If</directive> <code>ap_expr</code> ifadesine
252       dayanarak ortam değişkenlerine değer atar. Bu ifadeler çalışma anında
253       değerlendirilirerek <directive>SetEnvIf</directive> yönergesindeki gibi
254       <em>ort-değişkeni</em>ne uygulanır.</p>
255
256 <example>
257     SetEnvIfExpr "tolower(req('X-Sendfile')) == 'd:\images\very_big.iso')" iso_delivered
258 </example>
259
260     <p>Burada uygulamamızın her <code>X-Sendfile</code> göndermeye çalışmasında
261       ortam değişkenine <code>iso_delivered</code> değeri atanmaktadır.</p>
262
263     <p>Uzak IP adresi RFC 1918'e göre özel bir adres ise rfc1918 değişkenine 1
264       atanması daha kullanışlı bir örnek olurdu:</p>
265
266 <example>
267     SetEnvIfExpr "-R '10.0.0.0/8' || -R '172.16.0.0/12' || -R '192.168.0.0/16'" rfc1918
268 </example>
269 </usage>
270
271 <seealso><a href="../expr.html">Expressions in Apache HTTP Server</a>,
272 for a complete reference and more examples.</seealso>
273 <seealso><directive type="section">If</directive> can be used to achive similar
274 results.</seealso>
275 <seealso><module>mod_filter</module></seealso>
276 </directivesynopsis>
277
278 <directivesynopsis>
279 <name>SetEnvIfNoCase</name>
280 <description>Ortam değişkenlerini isteğin özniteliklerinde harf büyüklüğüne
281 bağlı olmaksızın yapılmış tanımlara göre atar.</description>
282 <syntax>SetEnvIfNoCase <em>öznitelik
283     düzifd [!]ort-değişkeni</em>[=<em>değer</em>]
284     [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</syntax>
285 <contextlist><context>server config</context>
286 <context>virtual host</context><context>directory</context>
287 <context>.htaccess</context></contextlist>
288 <override>FileInfo</override>
289
290 <usage>
291     <p><directive>SetEnvIfNoCase</directive> yönergesi sözdizimsel ve anlamsal
292       olarak <directive module="mod_setenvif">SetEnvIf</directive>
293       yönergesinin eşdeğeridir. Ancak, eşleşmelerde harf büyüklüğüne
294       duyarsızdır. Örnek:</p>
295
296     <example>
297       SetEnvIfNoCase Host Example\.Org site=example
298     </example>
299
300     <p>Burada, <code>Host:</code> HTTP istek başlığında
301       <code>Example.Org</code>, <code>example.org</code> veya harf büyüklüğünce
302       farklı benzerleri belirtilmişse <code>site</code> ortam değişkenine
303       "<code>example</code>" değeri atanmaktadır.</p>
304 </usage>
305 </directivesynopsis>
306 </modulesynopsis>