mirror of
https://github.com/apache/httpd.git
synced 2025-07-04 05:22:30 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799611 13f79535-47bb-0310-9956-ffa450edef68
530 lines
24 KiB
XML
530 lines
24 KiB
XML
<?xml version="1.0"?>
|
||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
||
<!-- English Revision: 1174747:1799478 (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_alias.xml.meta">
|
||
|
||
<name>mod_alias</name>
|
||
<description>Belge ağacının parçalarının dosya sisteminin parçalarıyla
|
||
eşlenmesini sağlar ve URL yönlendirmesi yapar.</description>
|
||
<status>Base</status>
|
||
<sourcefile>mod_alias.c</sourcefile>
|
||
<identifier>alias_module</identifier>
|
||
|
||
<summary>
|
||
<p>Bu modülde bulunan yönergeler sunucuya istek olarak gelen URL’lerin
|
||
denetlenmesini ve değiştirilmesini mümkün kılar. <directive
|
||
module="mod_alias" >Alias</directive> ve <directive module="mod_alias"
|
||
>ScriptAlias</directive> yönergeleri URL’lerin dosya sisteminin
|
||
dizinlerine eşlenmesini sağlar. Böylece, kök dizini <directive
|
||
module="core">DocumentRoot</directive> ile belirtilen site belge ağacı
|
||
altında bulunmayan içeriğe erişmek mümkün olur. <directive
|
||
module="mod_alias" >ScriptAlias</directive> yönergesi buna ek olarak
|
||
hedef dizini sadece CGI betiklerini içeren dizin olarak imler.</p>
|
||
|
||
<p><directive module="mod_alias">Redirect</directive> yönergesi,
|
||
farklı bir URL ile yeni bir istek yapmaları için istemcileri
|
||
yönlendirmekte kullanılır. Çoğunlukla özkaynak başka bir yere
|
||
taşındığında kullanılır.</p>
|
||
|
||
<p><module>mod_alias</module> modülü basit URL değiştirme görevlerini
|
||
yerine getirmek için tasarlanmıştır. Sorgu dizgelerini işleme sokmak
|
||
gibi daha karmaşık görevler için <module>mod_rewrite</module> modülü ile
|
||
sağlanan araçlar kullanılır.</p>
|
||
|
||
</summary>
|
||
|
||
<seealso><module>mod_rewrite</module></seealso> <seealso><a
|
||
href="../urlmapping.html">URL’lerin Dosya sistemi ile Eşlenmesi</a>
|
||
</seealso>
|
||
|
||
<section id="order"><title>İşlem Sırası</title>
|
||
|
||
<p>Farklı bağlamlarda bulunan <directive module="mod_alias"
|
||
>Alias</directive> ve <directive module="mod_alias">Redirect</directive>
|
||
yönergeleri standart <a href="../sections.html#mergin">katıştırma
|
||
kuralları</a> ile ilgili diğer yönergeler gibi işleme sokulur. Fakat
|
||
aynı bağlam dahilinde (örneğin, aynı <directive type="section"
|
||
module="core">VirtualHost</directive> bölümünde) çok fazla <directive
|
||
module="mod_alias" >Alias</directive> ve <directive
|
||
module="mod_alias">Redirect</directive> varsa bunlar belli bir
|
||
sıraya göre işleme sokulurlar.</p>
|
||
|
||
<p>İlk adımda, <directive module="mod_alias">Alias</directive>’lardan önce
|
||
bütün <directive module="mod_alias">Redirect</directive> yönergeleri
|
||
işleme sokulur. Bu bakımdan bir <directive module="mod_alias"
|
||
>Redirect</directive> veya <directive module="mod_alias"
|
||
>RedirectMatch</directive> ile eşleşen bir istek için
|
||
hiçbir <directive module="mod_alias" >Alias</directive>
|
||
uygulanmayacaktır. İkinci adımda yapılandırma dosyasında yer aldıkları
|
||
sıraya göre <directive module="mod_alias" >Redirect</directive> ve
|
||
<directive module="mod_alias" >Alias</directive> yönergeleri işleme
|
||
sokulurlar, dolayısıyla ilk eşleşme öncelikli olmuş olur.</p>
|
||
|
||
<p>İlk eşleşmenin öncelikli olması sebebiyle, bu yönergelerin birden
|
||
fazlası aynı alt yola uygulandığı takdirde, tüm yönergelerin etkili
|
||
olabilmesi için en uzun yolu sıralamada en öne almalısınız. Örneğin
|
||
aşağıdaki yapılandırma beklendiği gibi çalışacaktır:</p>
|
||
|
||
<example>
|
||
Alias /foo/bar /baz<br />
|
||
Alias /foo /gaz
|
||
</example>
|
||
|
||
<p>Ama yukarıdaki iki satır ters sırada yerleştirilmiş olsaydı,
|
||
<code>/foo</code> rumuzu daima <code>/foo/bar</code> rumuzundan önce
|
||
eşleşecek, dolayısıyla ikinci yönerge yok sayılacaktı.</p>
|
||
|
||
</section>
|
||
|
||
<directivesynopsis>
|
||
<name>Alias</name>
|
||
<description>URL’leri dosya sistemi konumlarıyla eşler.</description>
|
||
<syntax>Alias <var>URL-yolu</var> <var>dosya-yolu</var> |
|
||
<var>dizin-yolu</var></syntax>
|
||
<contextlist><context>server config</context><context>virtual host</context>
|
||
</contextlist>
|
||
|
||
<usage>
|
||
|
||
<p><directive>Alias</directive> yönergesi, belgelerin <directive
|
||
module="core">DocumentRoot</directive> dizininden farklı bir yerde
|
||
saklanmasını mümkün kılar. <code><em>URL-yolu</em></code> ile başlayan
|
||
URL’ler (% imlemesi çözüldükten sonra) <code><em>dizin-yolu</em></code>
|
||
ile başlayan yerel dosyalarla eşlenir. <code><em>URL-yolu</em></code>,
|
||
harf büyüklüğüne duyarsız sistemlerde bile harf büyüklüğüne
|
||
duyarlıdır.</p>
|
||
|
||
<example><title>Örnek:</title>
|
||
Alias /image /ftp/pub/image
|
||
</example>
|
||
|
||
<p><code>http://example.com/image/foo.gif</code> şeklinde bir istek,
|
||
sunucunun <code>/ftp/pub/image/foo.gif</code> dosyasıyla yanıt vermesine
|
||
sebep olurdu. Sadece tam yol parçaları eşleştirilir; bu bakımdan
|
||
yukarıdaki <directive>Alias</directive> yapılandırması
|
||
<code>http://example.com/imagefoo.gif</code> ile eşleşmez. Düzenli
|
||
ifadelerin kullanıldığı daha karmaşık eşleşmeler için <directive
|
||
module="mod_alias" >AliasMatch</directive> yönergesine bakınız.</p>
|
||
|
||
<p><code><em>URL-yolu</em></code>’nu bir <code>/</code> ile
|
||
sonlandırırsanız <directive>Alias</directive> yönergesini yorumlarken
|
||
sunucunun da sona bir <code>/</code> ekleyeceğine dikkat ediniz. Yani,
|
||
eğer</p>
|
||
|
||
<dl><dd><code>Alias /icons/ /usr/local/apache/icons/</code></dd></dl>
|
||
|
||
<p>diye bir tanım yaparsanız sona bir / ekleme ihtiyacından dolayı
|
||
<code>/icons</code> URL’si için bir <directive>Alias</directive>
|
||
kullanılmayacaktır.</p>
|
||
|
||
<p><directive>Alias</directive> <em>hedefleri</em> için ek <directive
|
||
type="section" module="core" >Directory</directive> bölümleri
|
||
belirtmeniz gerekebileceğine dikkat ediniz. <directive type="section"
|
||
module="core" >Directory</directive> bölümlerinden önce yer alan
|
||
<directive>Alias</directive> yönergelerine özellikle bakılır,
|
||
dolayısıyla sadece <directive>Alias</directive> hedefleri etkilenir.
|
||
(Bununla birlikte, <directive>Alias</directive> yönergelerinden önce
|
||
işleme sokulan <directive type="section"
|
||
module="core">Location</directive> bölümlerinin uygulanacağına dikkat
|
||
ediniz.)</p>
|
||
|
||
<p>Özellikle, <directive module="core">DocumentRoot</directive> dışında
|
||
bir dizine bir <directive>Alias</directive> oluşturuyorsanız hedef
|
||
dizine doğrudan erişim izni vermeniz gerekebilir.</p>
|
||
|
||
<example><title>Örnek:</title>
|
||
Alias /image /ftp/pub/image<br />
|
||
<Directory /ftp/pub/image><br />
|
||
<indent>
|
||
Require all granted<br />
|
||
</indent>
|
||
</Directory>
|
||
</example>
|
||
</usage>
|
||
</directivesynopsis>
|
||
|
||
<directivesynopsis>
|
||
<name>AliasMatch</name>
|
||
<description>URL’leri dosya sistemi konumlarıyla düzenli ifadeleri kullanarak
|
||
eşler.</description>
|
||
<syntax>AliasMatch <var>düzenli-ifade</var>
|
||
<var>dosya-yolu</var>|<var>dizin-yolu</var></syntax>
|
||
<contextlist><context>server config</context><context>virtual host</context>
|
||
</contextlist>
|
||
|
||
<usage>
|
||
<p>Bu yönerge <code><em>URL-yolu</em></code> ile eşleşmek üzere bir
|
||
<glossary ref="regex">düzenli ifade</glossary> kabul etmesi dışında
|
||
<directive module="mod_alias">Alias</directive> yönergesine eşdeğerdir.
|
||
Belirtilen düzenli ifade <code><em>URL-yolu</em></code> ile eşleşiyorsa
|
||
sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak dosya yolunu
|
||
elde eder. Örneğin, <code>/icons</code> dizinini etkinleştirmek için şu
|
||
yazılabilir:</p>
|
||
|
||
<example>
|
||
AliasMatch ^/icons(.*) /usr/local/apache/icons$1
|
||
</example>
|
||
|
||
<p><glossary ref="regex">Düzenli ifadeler</glossary>in tamamı
|
||
kullanılabilmektedir. Örneğin, <code><em>URL-yolu</em></code> ile harf
|
||
büyüklüğüne duyarsız eşleşmeler sağlayacak takma adlar
|
||
kullanılabilir:</p>
|
||
|
||
<example>
|
||
AliasMatch (?i)^/image(.*) /ftp/pub/image$1
|
||
</example>
|
||
|
||
<p><directive module="mod_alias">Alias</directive>
|
||
ve <directive module="mod_alias">AliasMatch</directive> yönergeleri
|
||
arasındaki başlıca fark <directive module="mod_alias">Alias</directive>
|
||
yönergesinin, URI'nin ek parçasını, eşleşen parçayı geçip sağ tarafta
|
||
dosya yolunun ucuna kendiliğinden kopyalamasıdır. <directive
|
||
module="mod_alias">AliasMatch</directive> bunu böyle yapmaz. Yani hemen
|
||
her durumda, düzenli ifadenin istenen URI'nin tamamıyla baştan sona
|
||
eşleşmesi ve yer değiştirmeyi sağ tarafta yapması istenir.</p>
|
||
|
||
<p>Başka bir deyişle, basitçe
|
||
<directive module="mod_alias">Alias</directive> yerine
|
||
<directive module="mod_alias">AliasMatch</directive> yazmakla aynı etkiyi
|
||
alamazsınız. En azından düzenli ifadenin başına bir <code>^</code> ve
|
||
sonuna bir <code>(.*)$</code>, ikinci değiştirgenin sonuna da bir
|
||
<code>$1</code> eklemeniz gerekir.</p>
|
||
|
||
<p>Örneğin aşağıdakini AliasMatch ile değiştirmek isteyelim:</p>
|
||
|
||
<example>
|
||
Alias /image/ /ftp/pub/image/
|
||
</example>
|
||
|
||
<p>Bu eşdeğer DEĞİLdir - bunu yapmayın! Bu herhangi bir yerinde /image/
|
||
dizgesi bulunan tüm istekleri /ftp/pub/image/ altına gönderecektir:</p>
|
||
|
||
<example>
|
||
AliasMatch /image/ /ftp/pub/image/
|
||
</example>
|
||
|
||
<p>Aynı etkiyi elde etmek için bu gerekiyor:</p>
|
||
|
||
<example>
|
||
AliasMatch ^/image/(.*)$ /ftp/pub/image/$1
|
||
</example>
|
||
|
||
<p>Şüphesiz, <directive module="mod_alias">Alias</directive> yönergesini
|
||
çalıştığı yerde <directive module="mod_alias">AliasMatch</directive>
|
||
kullanmanın hiç gereği yoktur. <directive module="mod_alias"
|
||
>AliasMatch</directive> daha karmaşık şeyler yapmamızı sağlar. Örneğin
|
||
farklı dosya çeşitlerini farklı dizinlerden sunmak isteyelim:</p>
|
||
|
||
<example>
|
||
AliasMatch ^/image/(.*)\.jpg$ /files/jpg.images/$1.jpg<br/>
|
||
AliasMatch ^/image/(.*)\.gif$ /files/gif.images/$1.gif
|
||
</example>
|
||
|
||
</usage>
|
||
</directivesynopsis>
|
||
|
||
<directivesynopsis>
|
||
<name>Redirect</name>
|
||
<description>İstemciyi, bir yönlendirme isteği döndürerek farklı bir URL’ye
|
||
yönlendirir.</description>
|
||
<syntax>Redirect [<var>durum</var>] <var>URL-yolu</var>
|
||
<var>URL</var></syntax>
|
||
<contextlist><context>server config</context><context>virtual host</context>
|
||
<context>directory</context><context>.htaccess</context></contextlist>
|
||
<override>FileInfo</override>
|
||
|
||
<usage>
|
||
<p><directive>Redirect</directive> yönergesi istemciye bir yönlendirme
|
||
isteği döndürerek eski URL’yi yenisiyle eşler.</p>
|
||
|
||
<p>Eski <code><em>URL-yolu</em></code> bir bölü çizgisi ile başlar ve harf
|
||
büyüklüğüne duyarlıdır (% imlemesi çözüldükten sonra).
|
||
<code><em>URL-yolu</em></code> olarak göreli yollara izin verilmez.</p>
|
||
|
||
<p><code><em>URL</em></code> ise ya bir şema ve konak ismi ile başlayan
|
||
bir mutlak URL ya da bir bölü çizgisi ile başlayan bir URL yolu olabilir.
|
||
İkinci durumda URL yolunun başına geçerli sunucu ismi ve şemayı sunucu
|
||
ekler.</p>
|
||
|
||
<p><code><em>URL-yolu</em></code> ile başlayan istekler istemciye hedef
|
||
<code><em>URL</em></code> konumuna bir yönlendirme isteği olarak
|
||
dönecektir. <code><em>URL-yolu</em></code>’nun devamı niteliğindeki ek
|
||
yol hedef URL’ye eklenir.</p>
|
||
|
||
<example><title>Örnek:</title>
|
||
# Farklı bir konaktaki bir URL'ye yönlendirme<br />
|
||
Redirect /hizmet http://iki.example.com/hizmet<br />
|
||
<br />
|
||
# Aynı konak üzerinde yönlendirme<br />
|
||
Redirect /bir /iki
|
||
</example>
|
||
|
||
<p>İstemcinin yaptığı <code>http://example.com/hizmet/fesmekan.txt</code>
|
||
isteğine karşılık istemciye isteği
|
||
<code>http://iki.example.com/hizmet/fesmekan.txt</code> olarak yapması
|
||
söylenecektir. Bu <code>GET</code> isteklerinde de geçerlidir. Örneğin,
|
||
<code>http://example.com/hizmet/foo.pl?q=23&a=42</code> isteği
|
||
<code>http://iki.example.com/hizmet/foo.pl?q=23&a=42</code> adresine
|
||
yönlendirilir. <code>POST</code>'ların iptal edileceğini unutmayın.<br />
|
||
Sadece tam yol parçaları eşleştirilir, bu nedenle
|
||
<code>http://example.com/hizmetfesmekan.txt</code> isteği yukarıdaki
|
||
yönlendirme ile eşleşmeyecektir. Düzenli ifadelerin kullanıldığı daha
|
||
karmaşık eşleşmeler için <directive module="mod_alias"
|
||
>RedirectMatch</directive> yönergesine bakınız.</p>
|
||
|
||
|
||
<note><title>Bilginize</title>
|
||
<p>Yapılandırma dosyasında yer alış sırasına bakmaksızın
|
||
<directive>Redirect</directive> yönergeleri
|
||
<directive>Alias</directive> ve <directive>ScriptAlias</directive>
|
||
yönergelerinden önce ele alınır.</p></note>
|
||
|
||
<p>Herhangi bir <code><em>durum</em></code> belirtilmemişse "geçici"
|
||
yönlendirme (HTTP durum kodu: 302) yapılır. Bu, istemciye özkaynağın
|
||
geçici olarak başka yere taşındığını belirtir. Diğer HTTP durum
|
||
kodlarını döndürmek için kullanılabilecek <code><em>durum</em></code>
|
||
değerleri:</p>
|
||
|
||
<dl>
|
||
<dt><code>permanent</code></dt>
|
||
<dd>İstemciye özkaynağın kalıcı olarak taşındığını belirten kalıcı
|
||
yönlendirme durumu (301) döndürülür.</dd>
|
||
|
||
<dt><code>temp</code></dt>
|
||
<dd>İstemciye geçici yönlendirme durumu (302) döner. Bu öntanımlıdır.
|
||
</dd>
|
||
|
||
<dt><code>seeother</code></dt>
|
||
<dd>İstemciye özkaynağın yerine başka bir şey konduğunu belirten
|
||
"diğerine bak" durumu (303) döndürülür.</dd>
|
||
|
||
<dt><code>gone</code></dt>
|
||
<dd>İstemciye özkaynağın kalıcı olarak kaldırıldığını belirten "ölü
|
||
bağlantı" durumu (410) döner. Bu durumda <code><em>URL</em></code>
|
||
belirtilmez.</dd>
|
||
</dl>
|
||
|
||
<p>Diğer durum kodları için <code><em>durum</em></code> değiştirgesiyle
|
||
sayısal durum kodu belirtilir. Eğer durum 300 ile 399 arasındaysa bir
|
||
<code><em>URL</em></code> belirtmek gereklidir. Aksi takdirde,
|
||
<var>URL</var> bileşeni ihmal edilmelidir. Belirtilecek durum kodunun
|
||
geçerli bir HTTP Status kodu olmalı ve Apache HTTP Sunucusu kodu
|
||
bilmelidir (<code>http_protocol.c</code> dosyasında bulunan
|
||
<code>send_error_response</code> işlevine bakınız).</p>
|
||
|
||
<example><title>Örnek:</title>
|
||
Redirect permanent /bir http://example.com/iki<br />
|
||
Redirect 303 /yedi http://example.com/baskabisey
|
||
</example>
|
||
</usage>
|
||
</directivesynopsis>
|
||
|
||
<directivesynopsis>
|
||
<name>RedirectMatch</name>
|
||
<description>Geçerli URL ile eşleşen bir düzenli ifadeye dayanarak bir harici
|
||
yönlendirme gönderir.</description>
|
||
<syntax>RedirectMatch [<var>durum</var>] <var>düzenli-ifade</var>
|
||
<var>URL</var></syntax>
|
||
<contextlist><context>server config</context><context>virtual host</context>
|
||
<context>directory</context><context>.htaccess</context></contextlist>
|
||
<override>FileInfo</override>
|
||
|
||
<usage>
|
||
<p>Bu yönerge <code><em>URL-yolu</em></code> ile eşleşmek üzere bir
|
||
<glossary ref="regex">düzenli ifade</glossary> kabul etmesi dışında
|
||
<directive module="mod_alias">Redirect</directive> yönergesine
|
||
eşdeğerdir. Belirtilen düzenli ifade <code><em>URL-yolu</em></code> ile
|
||
eşleşiyorsa sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak
|
||
dosya yolunu elde eder. Örneğin, tüm GIF dosyası isteklerini başka bir
|
||
sunucudaki aynı isimli JPEG dosyalarına yönlendirmek için şu
|
||
yazılabilir:</p>
|
||
|
||
<example>
|
||
RedirectMatch (.*)\.gif$ http://baska.example.com$1.jpg
|
||
</example>
|
||
|
||
<p><directive module="mod_alias">Alias</directive> ve
|
||
<directive module="mod_alias">AliasMatch</directive> arasındaki farklarla
|
||
ilgili hususlar <directive module="mod_alias">Redirect</directive> ve
|
||
<directive module="mod_alias">RedirectMatch</directive> arasındakilere de
|
||
uygulanır. Ayrıntılar için <directive module="mod_alias"
|
||
>AliasMatch</directive> yönergesine bakınız.</p>
|
||
|
||
</usage>
|
||
</directivesynopsis>
|
||
|
||
<directivesynopsis>
|
||
<name>RedirectTemp</name>
|
||
<description>İstemciyi, geçici bir yönlendirme isteği döndürerek farklı bir
|
||
URL’ye yönlendirir.</description>
|
||
<syntax>RedirectTemp <var>URL-yolu</var> <var>URL</var></syntax>
|
||
<contextlist><context>server config</context><context>virtual host</context>
|
||
<context>directory</context><context>.htaccess</context></contextlist>
|
||
<override>FileInfo</override>
|
||
|
||
<usage>
|
||
<p>Bu yönerge istemciye daima geçici yönlendirme durumu (302) döndürür.
|
||
Yani, <code>Redirect temp</code> ile aynı işi yapar.</p>
|
||
</usage>
|
||
</directivesynopsis>
|
||
|
||
<directivesynopsis>
|
||
<name>RedirectPermanent</name>
|
||
<description>İstemciyi, kalıcı bir yönlendirme isteği döndürerek farklı bir
|
||
URL’ye yönlendirir.</description>
|
||
<syntax>RedirectPermanent <var>URL-yolu</var> <var>URL</var></syntax>
|
||
<contextlist><context>server config</context><context>virtual host</context>
|
||
<context>directory</context><context>.htaccess</context></contextlist>
|
||
<override>FileInfo</override>
|
||
|
||
<usage>
|
||
<p>Bu yönerge istemciye daima kalıcı yönlendirme durumu (301) döndürür.
|
||
Yani, <code>Redirect permanent</code> ile aynı işi yapar.</p>
|
||
</usage>
|
||
</directivesynopsis>
|
||
|
||
<directivesynopsis>
|
||
<name>ScriptAlias</name>
|
||
<description>Bir URL’yi dosya sistemindeki bir yere eşler ve hedefi bir CGI betiği olarak çalıştırır.</description>
|
||
<syntax>ScriptAlias <var>URL-yolu</var>
|
||
<var>dosya-yolu</var>|<var>dizin-yolu</var></syntax>
|
||
<contextlist><context>server config</context><context>virtual host</context>
|
||
</contextlist>
|
||
|
||
<usage>
|
||
<p>Hedef dizini, <module>mod_cgi</module> modülünün CGI betiği
|
||
yorumlayıcısı tarafından çalıştırılacak betikleri içeren dizin olarak
|
||
imlemesi dışında <directive module="mod_alias">Alias</directive>
|
||
yönergesinin yaptığı işi yapar. <code><em>URL-yolu</em></code> ile
|
||
başlayan harf büyüklüğüne duyarlı URL’ler (% imlemesi çözüldükten
|
||
sonra), dosya sistemindeki bir tam yol olarak belirtilmiş
|
||
<code><em>dizin-yolu</em></code> ile başlayan betiklerle eşlenir.</p>
|
||
|
||
<example><title>Örnek:</title>
|
||
ScriptAlias /cgi-bin/ /siteler/cgi-bin/
|
||
</example>
|
||
|
||
<p><code>http://example.com/cgi-bin/foo</code> şeklindeki bir istek
|
||
sunucunun <code>/siteler/cgi-bin/foo</code> betiğini çalıştırmasına sebep
|
||
olur. Bu yapılandırma aslında şuna eşdeğerdir:</p>
|
||
|
||
<example>
|
||
Alias /cgi-bin/ /siteler/cgi-bin/<br />
|
||
<Location /cgi-bin ><br />
|
||
<indent>
|
||
SetHandler cgi-script<br />
|
||
Options +ExecCGI<br />
|
||
</indent>
|
||
</Location>
|
||
</example>
|
||
|
||
<p><directive>ScriptAlias</directive> yönergesini bir betik veya eylemci
|
||
ile birlikte de kullanabilirsiniz. Örnek:</p>
|
||
|
||
<example>
|
||
ScriptAlias /cgi-bin/ /siteler/cgi-handler.pl
|
||
</example>
|
||
|
||
<p>Bu senaryoda <code>/cgi-bin/</code>’den istenen tüm dosyalar sizin
|
||
belirttiğiniz dosya tarafından işleme sokulacaktır. Bu yöntemle kendi
|
||
özel eylemcinizi kullanabilirsiniz. İsterseniz, bunu içerik eklemek
|
||
ya da ısmarlama bir eylem için bir CGI sarmalayıcısı olarak da
|
||
kullanabilirsiniz.</p>
|
||
|
||
<note type="warning">Yapılandırma değiştiğinde kaynak kodlarının ister
|
||
istemez açığa çıkmasını istemiyorsanız CGI betiklerinizi <directive
|
||
module="core">DocumentRoot</directive> altına koymayınız.
|
||
<directive>ScriptAlias</directive> yönergesi URL’yi doğru yere
|
||
eşlemekten başka orayı bir CGI betikleri dizini olarak imler. CGI
|
||
betiklerinizi <directive module="core">DocumentRoot</directive> altına
|
||
koyarsanız çalıştırmak için <directive>ScriptAlias</directive> değil,
|
||
<directive module="core" type="section" >Directory</directive>,
|
||
<directive module="core">SetHandler</directive> ve <directive
|
||
module="core">Options</directive> yönergelerini örnekteki gibi kullanın:
|
||
|
||
<example>
|
||
<Directory /usr/local/apache2/htdocs/cgi-bin ><br />
|
||
<indent>
|
||
SetHandler cgi-script<br />
|
||
Options ExecCGI<br />
|
||
</indent>
|
||
</Directory>
|
||
</example>
|
||
|
||
Aynı dosya sistemi konumu ile çok sayıda <code><em>URL-yolu</em></code>
|
||
eşleşebileceğinden, bir <directive module="core">Directory</directive>
|
||
bölümü ile sınırlanmadığı takdirde CGI betiklerinin kaynak kodları açığa
|
||
çıkabilir; bu bakımdan <directive>ScriptAlias</directive> yönergesini yok
|
||
sayan URL yollarının belirtilebilme olasılığı gözardı
|
||
edilmemelidir.</note>
|
||
|
||
</usage>
|
||
<seealso><a href="../howto/cgi.html">CGI Öğreticisi</a></seealso>
|
||
</directivesynopsis>
|
||
|
||
<directivesynopsis>
|
||
<name>ScriptAliasMatch</name>
|
||
<description>Bir URL’yi dosya sistemindeki bir yere düzenli ifade kullanarak
|
||
eşler ve hedefi bir CGI betiği olarak çalıştırır.</description>
|
||
<syntax>ScriptAliasMatch <var>düzenli-ifade</var>
|
||
<var>dosya-yolu</var>|<var>dizin-yolu</var></syntax>
|
||
<contextlist><context>server config</context><context>virtual host</context>
|
||
</contextlist>
|
||
|
||
<usage>
|
||
<p>Bu yönerge <code><em>URL-yolu</em></code> ile eşleşmek üzere bir
|
||
<glossary ref="regex">düzenli ifade</glossary> kabul etmesi dışında
|
||
<directive module="mod_alias">ScriptAlias</directive> yönergesine
|
||
eşdeğerdir. Belirtilen düzenli ifade <code><em>URL-yolu</em></code> ile
|
||
eşleşiyorsa sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak
|
||
dosya yolunu elde eder. Örneğin, standart <code>/cgi-bin</code> dizinini
|
||
etkin kılmak için şu yazılabilir:</p>
|
||
|
||
<example>
|
||
ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
|
||
</example>
|
||
|
||
<p>AliasMatch yönergesindeki gibi, <glossary ref="rexex">düzenli
|
||
ifadeler</glossary>in tamamı tüm güçleriyle kullanılabilmektedir.
|
||
Örneğin, <code><em>URL-yolu</em></code> için harf büyüklüğüne duyarsız
|
||
eşleşmeli bir takma ad oluşturmak mümkünür:</p>
|
||
|
||
<example>
|
||
ScriptAliasMatch (?i)^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
|
||
</example>
|
||
|
||
<p><directive module="mod_alias">Alias</directive> ve
|
||
<directive module="mod_alias">AliasMatch</directive> arasındaki farklarla
|
||
ilgili hususlar <directive module="mod_alias">ScriptAlias</directive> ve
|
||
<directive module="mod_alias">ScriptAliasMatch</directive> arasındakilere
|
||
de uygulanır. Ayrıntılar için <directive module="mod_alias"
|
||
>AliasMatch</directive> yönergesine bakınız.</p>
|
||
|
||
</usage>
|
||
</directivesynopsis>
|
||
|
||
</modulesynopsis>
|