34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<?xml-stylesheet type="text/xsl" href="/style/manual.tr.xsl"?>
0a05fab9aadd37834734ffe106fc8ad4488fb3e3rbowen<!-- English Revision: 1180828:1673947 (outdated) -->
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<!-- =====================================================
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun Reviewed by: Orhan Berent <berent belgeler.org>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun========================================================== -->
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun Licensed to the Apache Software Foundation (ASF) under one or more
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun contributor license agreements. See the NOTICE file distributed with
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun this work for additional information regarding copyright ownership.
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun The ASF licenses this file to You under the Apache License, Version 2.0
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun (the "License"); you may not use this file except in compliance with
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun the License. You may obtain a copy of the License at
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun Unless required by applicable law or agreed to in writing, software
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun distributed under the License is distributed on an "AS IS" BASIS,
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun See the License for the specific language governing permissions and
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun limitations under the License.
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<description>Ortam değişkenlerinin isteğin özelliklerine uygun olarak atanmasını sağlar</description>
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun <p><module>mod_setenvif</module> modülü dahili ortam değişkenlerinin
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun isteğin farklı bileşenlerinin belirttiğiniz düzenli ifade ile eşleşmesine
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun bağlı olarak atanmasını mümkün kılar. Bu ortam değişkenleri sunucunun
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun çeşitli kısımlarında yapılacak eylemlerin yanında CGI betiklerinde ve SSI
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun sayfalarında kullanılabilir hale gelmelerine karar verilirken
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun kullanılır.</p>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <p>Yönergeler yapılandırma dosyasında yer aldıkları sıraya göre ele
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun alınırlar. Böylece daha karmaşık dizilimler kullanılabilir, bu örnekteki
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun tarayıcı Mozilla ise <code>netscape</code> ortam değişkeni atanmakta,
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun MSIE ise atanmamaktadır.</p>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun BrowserMatch ^Mozilla netscape<br />
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun BrowserMatch MSIE !netscape<br />
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun<seealso><a href="/env.html">Apache HTTP Sunucusundaki Ortam Değişkenleri</a></seealso>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<directivesynopsis>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<description>Ortam değişkenlerini HTTP kullanıcı arayüzüne göre belirler.
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun</description>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<syntax>BrowserMatch <em>düzifd [!]ort-değişkeni</em>[=<em>değer</em>]
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun[[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</syntax>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<context>virtual host</context><context>directory</context>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <p><directive>BrowserMatch</directive> yönergesi <directive
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun module="mod_setenvif" >SetEnvIf</directive> yönergesinin özel bir halidir
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun ve ortam değişkenlerine <code>User-Agent</code> HTTP istek başlığının
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun değerine göre atama yapar. Aşağıdaki iki satır aynı etkiye sahiptir:</p>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun BrowserMatchNoCase Robot is_a_robot<br />
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun SetEnvIfNoCase User-Agent Robot is_a_robot<br />
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br />
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br />
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun BrowserMatch MSIE !javascript<br />
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun</directivesynopsis>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<directivesynopsis>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<description>Ortam değişkenlerini HTTP kullanıcı arayüzünün harf büyüklüğüne
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgunduyarsız eşleşmelerine bağlı olarak belirler.</description>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<syntax>BrowserMatchNoCase <em>düzifd [!]ort-değişkeni</em>[=<em>değer</em>]
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun[[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</syntax>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<context>virtual host</context><context>directory</context>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <p><directive>BrowserMatchNoCase</directive> yönergesi sözdizimsel ve
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun anlamsal olarak <directive
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun module="mod_setenvif">BrowserMatch</directive> yönergesinin eşdeğeridir.
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun Ancak, eşleşmelerde harf büyüklüğüne duyarsızdır. Örnek:</p>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun BrowserMatchNoCase mac platform=macintosh<br />
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun BrowserMatchNoCase win platform=windows<br />
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <directive>BrowserMatchNoCase</directive> yönergeleri <directive
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun module="mod_setenvif">SetEnvIf</directive> ve <directive
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun module="mod_setenvif">SetEnvIfNoCase</directive> yönergelerinin özel
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun halleridir. Bu bakımda aşağıdaki iki satır aynı etkiye sahiptir:</p>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun BrowserMatchNoCase Robot is_a_robot<br />
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun SetEnvIfNoCase User-Agent Robot is_a_robot<br />
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun</directivesynopsis>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<directivesynopsis>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<description>Ortam değişkenlerini isteğin özniteliklerine göre atar.
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun</description>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</syntax>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<context>virtual host</context><context>directory</context>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <p><directive>SetEnvIf</directive> yönergesi ortam değişkenlerini isteğin
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun özniteliklerine göre tanımlar. İlk bileşen olarak belirtilen
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <code><em>öznitelik</em></code> şu dört şeyden biri olabilir:</p>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <li>Bir HTTP istek başlığı alanı (ayrıntılı bilgi için bak: <a
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a>);
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <code>Referer</code> ve <code>Accept-Language</code>. Bir düzenli
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun ifade kullanılarak birden fazla istek başlığı belirtilebilir.</li>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <li>İsteğin aşağıdaki bileşenlerinden biri:
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <li><code>Remote_Host</code> - isteği yapan istemcinin konak ismi
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun (varsa)</li>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <li><code>Remote_Addr</code> -isteği yapan istemcinin IP adresi</li>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <li><code>Server_Addr</code> - isteği alan sunucunun IP adresi
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun (sadece 2.0.43 sonrası sürümler için)</li>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <li><code>Request_Method</code> - kullanılan yöntemin ismi
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <li><code>Request_Protocol</code> - İsteğin yapıldığı protokolün
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <li><code>Request_URI</code> - HTTP istek satırında belirtilen
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun özkaynak; genellikle sorgu dizgesi olmaksızın şema ve konak ismini
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun içeren bir URL parçasıdır. Sorgu dizgeleriyle eşleşmeler hakkında
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun ayrıntılı bilgi edinmek için <module>mod_rewrite</module>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun modülünün <directive module="mod_rewrite">RewriteCond</directive>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun yönergesinin açıklamasına bakınız.</li>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <li>İstek ile evvelce ilişkilendirilmiş bir ortam değişkeninin ismi. Bu
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun sayede önceki bir eşleşmenin sonucuna karşı yeni bir sınama yapma
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun imkanı ortaya çıkar. Böyle bir sınama için sadece evvelce
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <code>SetEnvIf[NoCase]</code> yönergeleri ile yapılmış atamalardaki
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun ortam değişkenleri kullanılabilir. ‘Evvelce’ derken, sunucu genelinde
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun veya bölüm içinde bu yönergeden önce yer alan
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <code>SetEnvIf[NoCase]</code> yönerge satırları kastedilmektedir.
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun Ortam değişkenlerinin dikkate alınabilmesi için istek öznitelikleri
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun arasında hiçbir eşleşme olmaması ve <code><em>öznitelik</em></code>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun olarak bir düzenli ifade belirtilmemiş olması gerekir.</li>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <p>İkinci bileşen (<code><em>düzifd</em></code>) bir <glossary
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun ref="regex">düzenli ifade</glossary>dir. <code><em>düzifd</em></code>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun ile <code><em>öznitelik</em></code> eşleştiği takdirde yönergenin kalan
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun bileşenleri değerlendirmeye alınır.</p>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <p>Kalan bileşenler atanacak ortam değişkenlerinin isimleri ve isteğe
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun bağlı olarak bunlara atanacak değerlerden oluşur. Bunlar şöyle
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun belirtilebilir:</p>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <li><code><em>değişken-adı</em>=<em>değer</em></code></li>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <p>İlk biçemde değişkene "1" değeri atanır. İkincisinde atanmış bir
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun değişken atanmamış yapılır. Üçüncüsünde ise değişkene belirtilen
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <code><em>değer</em></code> bire bir atanır. 2.0.52 sürümünden itibaren
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun Apache httpd parantezli düzenli ifadelerin sonuçları ile değiştirilmek
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun üzere <code><em>value</em></code> içinde <code>$1</code>..<code>$9</code>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun gösterimleri tanınmaktadır.</p>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun SetEnvIf Request_URI "\.gif$" nesne_bir_resim=gif<br />
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun SetEnvIf Request_URI "\.jpg$" nesne_bir_resim=jpg<br />
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun SetEnvIf Request_URI "\.xbm$" nesne_bir_resim=xbm<br />
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun SetEnvIf Referer belgeler\.alanismi\.mesela\.dom dahili_site_istendi<br />
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun SetEnvIf object_is_image xbm XBIT_PROCESSING=1<br />
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun SetEnvIf ^TS ^[a-z] TS_VAR<br />
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <p>İlk üçünde istek bir resim dosyası için yapılmışsa
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <code>nesne_bir_resim</code> ortam değişkeni atanmakta, dördüncüsünde
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun istenen sayfa <code>belgeler.alanismi.mesela.dom</code> adlı sitede
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun bulunuyorsa <code>dahili_site_istendi</code> ortam değişkeni
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun atanmaktadır.</p>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <p>Son örnekte ise istekte "TS" ile başlayıp [a-z] arasındaki
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun karakterlerle devam eden bir başlık alanı varsa <code>TS_VAR</code>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun ortam değişkeni atanmaktadır.</p>
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun<seealso><a href="/env.html">Apache HTTP Sunucusundaki Ortam Değişkenleri</a>
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgunbelgesinde daha fazla örnek bulunabilir.</seealso>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun</directivesynopsis>
5e4ea7442ef8c03184c727a39fc03e240b239b74rbowen<directivesynopsis>
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun<description>Bir ap_expr ifadesine dayanarak ortam değişkenlerine değer atar</description>
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</syntax>
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun<context>virtual host</context><context>directory</context>
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun <directive type="section">If</directive> <code>ap_expr</code> ifadesine
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun dayanarak ortam değişkenlerine değer atar. Bu ifadeler çalışma anında
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun değerlendirilirerek <directive>SetEnvIf</directive> yönergesindeki gibi
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun SetEnvIfExpr "tolower(req('X-Sendfile')) == 'd:\images\very_big.iso')" iso_delivered
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun <p>Burada uygulamamızın her <code>X-Sendfile</code> göndermeye çalışmasında
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun ortam değişkenine <code>iso_delivered</code> değeri atanmaktadır.</p>
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun <p>Uzak IP adresi RFC 1918'e göre özel bir adres ise rfc1918 değişkenine 1
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun atanması daha kullanışlı bir örnek olurdu:</p>
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun SetEnvIfExpr "-R '10.0.0.0/8' || -R '172.16.0.0/12' || -R '192.168.0.0/16'" rfc1918
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun<seealso><a href="/expr.html">Expressions in Apache HTTP Server</a>,
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgunfor a complete reference and more examples.</seealso>
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun<seealso><directive type="section">If</directive> can be used to achive similar
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgunresults.</seealso>
5e4ea7442ef8c03184c727a39fc03e240b239b74rbowen</directivesynopsis>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<directivesynopsis>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<description>Ortam değişkenlerini isteğin özniteliklerinde harf büyüklüğüne
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgunbağlı olmaksızın yapılmış tanımlara göre atar.</description>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun [[!]<em>ort-değişkeni</em>[=<em>değer</em>]] ...</syntax>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun<context>virtual host</context><context>directory</context>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun <p><directive>SetEnvIfNoCase</directive> yönergesi sözdizimsel ve anlamsal
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun olarak <directive module="mod_setenvif">SetEnvIf</directive>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun yönergesinin eşdeğeridir. Ancak, eşleşmelerde harf büyüklüğüne
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun duyarsızdır. Örnek:</p>
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun SetEnvIfNoCase Host Example\.Org site=example
71c10d94d9dcec087859cdb44231ccc02ecaef9dnilgun <code>Example.Org</code>, <code>example.org</code> veya harf büyüklüğünce
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun farklı benzerleri belirtilmişse <code>site</code> ortam değişkenine
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun</directivesynopsis>
34be775b7fb103ca189f3a38979f46ce8a74ef68nilgun</modulesynopsis>