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