mirror of
https://github.com/apache/httpd.git
synced 2025-10-31 19:10:37 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@926419 13f79535-47bb-0310-9956-ffa450edef68
282 lines
12 KiB
XML
282 lines
12 KiB
XML
<?xml version="1.0"?>
|
||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
||
<!-- English Revision: 658546:926416 (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ü 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 eylemlere karar verirken 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’de 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>
|
||
<compatibility>Apache 1.2 ve sonrasında bulunur (Apache 1.2 sürümünde bu
|
||
yönerge artık atıl olan mod_browser modülüyle sağlanırdı).</compatibility>
|
||
|
||
<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>
|
||
|
||
<li>Nesne kimliği <code><em>oid</em></code> olan bir SSL istemci
|
||
sertifikası eklentisine bir başvuru. SSL olarak yapılmamış bir istekte
|
||
veya yapılandırılmış bir <code><em>oid</em></code>’in yokluğunda
|
||
hiçbir değişken ataması yapılmaz. Birden fazla
|
||
<code><em>oid</em></code> söz konusu ise aralarına virgül
|
||
(<code>','</code>) konarak ilgili dizgeler birleştirilir.
|
||
<code><em>oid</em></code> dizge değerli bir eklentiyi
|
||
betimlemelidir.</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
|
||
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 OID("2.16.840.1.113730.1.13") "(.*)" NetscapeComment=$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>Altıncı örnekte <code>NetscapeComment</code> ortam değişkenine ilgili
|
||
SSL istemci sertifikası alanındaki (varsa) dizge 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’de Ortam Değişkenleri</a> belgesinde
|
||
daha fazla örnek bulunabilir.</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>
|
||
<compatibility>Apache 1.3 ve sonrasında mevcuttur.</compatibility>
|
||
|
||
<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 Apache\.Org site=apache
|
||
</example>
|
||
|
||
<p>Burada, <code>Host:</code> HTTP istek başlığında
|
||
<code>Apache.Org</code>, <code>apache.org</code> veya harf büyüklüğünce
|
||
farklı benzerleri belirtilmişse <code>site</code> ortam değişkenine
|
||
"<code>apache</code>" değeri atanmaktadır.</p>
|
||
</usage>
|
||
</directivesynopsis>
|
||
</modulesynopsis>
|