2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
4 <!-- English Revision: 658546:926416 (outdated) -->
5 <!-- =====================================================
6 Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7 Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
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
18 http://www.apache.org/licenses/LICENSE-2.0
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.
27 <modulesynopsis metafile="mod_setenvif.xml.meta">
29 <name>mod_setenvif</name>
30 <description>Ortam değişkenlerinin isteğin özelliklerine uygun olarak atanmasını sağlar</description>
32 <sourcefile>mod_setenvif.c</sourcefile>
33 <identifier>setenvif_module</identifier>
38 <p><module>mod_setenvif</module> modülü ortam değişkenlerinin isteğin
39 farklı bileşenlerinin belirttiğiniz düzenli ifade ile eşleşmesine bağlı
40 olarak atanmasını mümkün kılar. Bu ortam değişkenleri sunucunun çeşitli
41 kısımlarında yapılacak eylemlere karar verirken kullanılır.</p>
43 <p>Yönergeler yapılandırma dosyasında yer aldıkları sıraya göre ele
44 alınırlar. Böylece daha karmaşık dizilimler kullanılabilir, bu örnekteki
45 tarayıcı Mozilla ise <code>netscape</code> ortam değişkeni atanmakta,
46 MSIE ise atanmamaktadır.</p>
49 BrowserMatch ^Mozilla netscape<br />
50 BrowserMatch MSIE !netscape<br />
54 <seealso><a href="../env.html">Apache’de Ortam Değişkenleri</a></seealso>
57 <name>BrowserMatch</name>
58 <description>Ortam değişkenlerini HTTP kullanıcı arayüzüne göre belirler.
60 <syntax>BrowserMatch <em>düzifd [!]ort-değişkeni</em>[=<em>değer</em>]
61 [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</syntax>
62 <contextlist><context>server config</context>
63 <context>virtual host</context><context>directory</context>
64 <context>.htaccess</context></contextlist>
65 <override>FileInfo</override>
68 <p><directive>BrowserMatch</directive> yönergesi <directive
69 module="mod_setenvif" >SetEnvIf</directive> yönergesinin özel bir halidir
70 ve ortam değişkenlerine <code>User-Agent</code> HTTP istek başlığının
71 değerine göre atama yapar. Aşağıdaki iki satır aynı etkiye sahiptir:</p>
74 BrowserMatchNoCase Robot is_a_robot<br />
75 SetEnvIfNoCase User-Agent Robot is_a_robot<br />
78 <p>Başka örnekler:</p>
81 BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br />
82 BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br />
83 BrowserMatch MSIE !javascript<br />
89 <name>BrowserMatchNoCase</name>
90 <description>Ortam değişkenlerini HTTP kullanıcı arayüzünün harf büyüklüğüne
91 duyarsız eşleşmelerine bağlı olarak belirler.</description>
92 <syntax>BrowserMatchNoCase <em>düzifd [!]ort-değişkeni</em>[=<em>değer</em>]
93 [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</syntax>
94 <contextlist><context>server config</context>
95 <context>virtual host</context><context>directory</context>
96 <context>.htaccess</context></contextlist>
97 <override>FileInfo</override>
98 <compatibility>Apache 1.2 ve sonrasında bulunur (Apache 1.2 sürümünde bu
99 yönerge artık atıl olan mod_browser modülüyle sağlanırdı).</compatibility>
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>
109 BrowserMatchNoCase mac platform=macintosh<br />
110 BrowserMatchNoCase win platform=windows<br />
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>
120 BrowserMatchNoCase Robot is_a_robot<br />
121 SetEnvIfNoCase User-Agent Robot is_a_robot<br />
127 <name>SetEnvIf</name>
128 <description>Ortam değişkenlerini isteğin özniteliklerine göre atar.
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>
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>
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>
150 <li>İsteğin aşağıdaki bileşenlerinden biri:
152 <li><code>Remote_Host</code> - isteği yapan istemcinin konak ismi
155 <li><code>Remote_Addr</code> -isteği yapan istemcinin IP adresi</li>
157 <li><code>Server_Addr</code> - isteği alan sunucunun IP adresi
158 (sadece 2.0.43 sonrası sürümler için)</li>
160 <li><code>Request_Method</code> - kullanılan yöntemin ismi
161 (<code>GET</code>, <code>POST</code>, vs.)</li>
163 <li><code>Request_Protocol</code> - İsteğin yapıldığı protokolün
164 ismi ve numarası ("HTTP/0.9", "HTTP/1.1" gibi)</li>
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>
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>
186 <li>Nesne kimliği <code><em>oid</em></code> olan bir SSL istemci
187 sertifikası eklentisine bir başvuru. SSL olarak yapılmamış bir istekte
188 veya yapılandırılmış bir <code><em>oid</em></code>’in yokluğunda
189 hiçbir değişken ataması yapılmaz. Birden fazla
190 <code><em>oid</em></code> söz konusu ise aralarına virgül
191 (<code>','</code>) konarak ilgili dizgeler birleştirilir.
192 <code><em>oid</em></code> dizge değerli bir eklentiyi
196 <p>İkinci bileşen (<code><em>düzifd</em></code>) bir <glossary
197 ref="regex">düzenli ifade</glossary>dir. <code><em>düzifd</em></code>
198 ile <code><em>öznitelik</em></code> eşleştiği takdirde yönergenin kalan
199 bileşenleri değerlendirmeye alınır.</p>
201 <p>Kalan bileşenler atanacak ortam değişkenlerinin isimleri ve isteğe
202 bağlı olarak bunlara atanacak değerlerden oluşur. Bunlar şöyle
206 <li><code><em>değişken-adı</em></code> veya</li>
208 <li><code>!<em>değişken-adı</em></code> ya da </li>
210 <li><code><em>değişken-adı</em>=<em>değer</em></code></li>
213 <p>İlk biçemde değişkene "1" değeri atanır. İkincisinde atanmış bir
214 değişken atanmamış yapılır. Üçüncüsünde ise değişkene belirtilen
215 <code><em>değer</em></code> bire bir atanır. 2.0.52 sürümünden itibaren
216 parantezli düzenli ifadelerin sonuçları ile değiştirilmek üzere
217 <code><em>value</em></code> içinde <code>$1</code>..<code>$9</code>
218 gösterimleri tanınmaktadır.</p>
220 <example><title>Örnek:</title>
221 SetEnvIf Request_URI "\.gif$" nesne_bir_resim=gif<br />
222 SetEnvIf Request_URI "\.jpg$" nesne_bir_resim=jpg<br />
223 SetEnvIf Request_URI "\.xbm$" nesne_bir_resim=xbm<br />
225 SetEnvIf Referer belgeler\.alanismi\.mesela\.dom dahili_site_istendi<br />
227 SetEnvIf object_is_image xbm XBIT_PROCESSING=1<br />
229 SetEnvIf OID("2.16.840.1.113730.1.13") "(.*)" NetscapeComment=$1<br />
231 SetEnvIf ^TS* ^[a-z].* TS_VAR<br />
234 <p>İlk üçünde istek bir resim dosyası için yapılmışsa
235 <code>nesne_bir_resim</code> ortam değişkeni atanmakta, dördüncüsünde
236 istenen sayfa <code>belgeler.alanismi.mesela.dom</code> adlı sitede
237 bulunuyorsa <code>dahili_site_istendi</code> ortam değişkeni
240 <p>Altıncı örnekte <code>NetscapeComment</code> ortam değişkenine ilgili
241 SSL istemci sertifikası alanındaki (varsa) dizge atanmaktadır.</p>
243 <p>Son örnekte ise istekte "TS" ile başlayıp [a-z] arasındaki
244 karakterlerle devam eden bir başlık alanı varsa <code>TS_VAR</code>
245 ortam değişkeni atanmaktadır.</p>
248 <seealso><a href="../env.html">Apache’de Ortam Değişkenleri</a> belgesinde
249 daha fazla örnek bulunabilir.</seealso>
253 <name>SetEnvIfNoCase</name>
254 <description>Ortam değişkenlerini isteğin özniteliklerinde harf büyüklüğüne
255 bağlı olmaksızın yapılmış tanımlara göre atar.</description>
256 <syntax>SetEnvIfNoCase <em>öznitelik
257 düzifd [!]ort-değişkeni</em>[=<em>değer</em>]
258 [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</syntax>
259 <contextlist><context>server config</context>
260 <context>virtual host</context><context>directory</context>
261 <context>.htaccess</context></contextlist>
262 <override>FileInfo</override>
263 <compatibility>Apache 1.3 ve sonrasında mevcuttur.</compatibility>
266 <p><directive>SetEnvIfNoCase</directive> yönergesi sözdizimsel ve anlamsal
267 olarak <directive module="mod_setenvif">SetEnvIf</directive>
268 yönergesinin eşdeğeridir. Ancak, eşleşmelerde harf büyüklüğüne
269 duyarsızdır. Örnek:</p>
272 SetEnvIfNoCase Host Apache\.Org site=apache
275 <p>Burada, <code>Host:</code> HTTP istek başlığında
276 <code>Apache.Org</code>, <code>apache.org</code> veya harf büyüklüğünce
277 farklı benzerleri belirtilmişse <code>site</code> ortam değişkenine
278 "<code>apache</code>" değeri atanmaktadır.</p>