| <?xml version="1.0"?> |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?> |
| <!-- English Revision: 1756708 --> |
| <!-- ===================================================== |
| Translated by: Nilgün Belma Bugüner <nilgun belgeler.gen.tr> |
| Reviewed by: Orhan Berent <berent belgeler.gen.tr> |
| ========================================================== --> |
| |
| <!-- |
| 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><directive module="mod_alias">Alias</directive>, |
| <directive module="mod_alias">ScriptAlias</directive> ve |
| <directive module="mod_alias">Redirect</directive> yönergeleri |
| <directive type="section" module="core">Location</directive> |
| veya <directive type="section" module="core">LocationMatch</directive> |
| bölümleri içinde kullanıldığında hedef yolu veya URL'yi betimlemek için |
| <a href="../expr.html">ifade sözdizimi</a> kullanılabilir. |
| </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> |
| |
| <highlight language="config"> |
| Alias "/foo/bar" "/baz" |
| Alias "/foo" "/gaq" |
| </highlight> |
| |
| <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> |
| |
| <p><directive module="mod_alias">Alias</directive>, |
| <directive module="mod_alias">ScriptAlias</directive> ve |
| <directive module="mod_alias">Redirect</directive> yönergeleri |
| <directive type="section" module="core">Location</directive> |
| veya <directive type="section" module="core">LocationMatch</directive> |
| bölümleri içinde kullanıldığında bu yönergeler küresel olarak tanımlı |
| <directive module="mod_alias">Alias</directive>, |
| <directive module="mod_alias">ScriptAlias</directive> ve |
| <directive module="mod_alias">Redirect</directive> yönergelerinden öncelikli olur. |
| </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> |
| <context>directory</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> |
| |
| <highlight language="config"> |
| Alias "/image" "/ftp/pub/image" |
| </highlight> |
| |
| <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> |
| |
| <highlight language="config"> |
| Alias "/icons/" "/usr/local/apache/icons/" |
| </highlight> |
| |
| <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> |
| |
| <highlight language="config"> |
| Alias "/image" "/ftp/pub/image" |
| <Directory "/ftp/pub/image"> |
| Require all granted |
| </Directory> |
| </highlight> |
| |
| <p><var>URL-yolu</var> değiştirgesindeki bölü çizgilerinin sayısı istek |
| URL-yolundakiler kadardır.</p> |
| |
| <p>Eğer <directive>Alias</directive> yönergesi |
| <directive type="section" module="core">Location</directive> |
| veya <directive type="section" module="core">LocationMatch</directive> |
| bölümleri içinde kullanılırsa URL-yolu yoksayılır ve dosya-yolu |
| <a href="../expr.html">ifade sözdizimi</a> kullanılarak yorumlanır.<br /> |
| Bu sözdizimi Apache 2.4.19 ve sonrasında kulanılabilir.</p> |
| |
| <highlight language="config"> |
| <Location "/image"> |
| Alias "/ftp/pub/image" |
| </Location> |
| <LocationMatch "/error/(?<NUMBER>[0-9]+)"> |
| Alias "/usr/local/apache/errors/%{env:MATCH_NUMBER}.html" |
| </LocationMatch> |
| </highlight> |
| |
| </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> |
| |
| <highlight language="config"> |
| AliasMatch "^/icons(.*)" "/usr/local/apache/icons$1" |
| </highlight> |
| |
| <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> |
| |
| <highlight language="config"> |
| AliasMatch "(?i)^/image(.*)" "/ftp/pub/image$1" |
| </highlight> |
| |
| <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> |
| |
| <highlight language="config"> |
| Alias "/image/" "/ftp/pub/image/" |
| </highlight> |
| |
| <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> |
| |
| <highlight language="config"> |
| AliasMatch "/image/" "/ftp/pub/image/" |
| </highlight> |
| |
| <p>Aynı etkiyi elde etmek için bu gerekiyor:</p> |
| |
| <highlight language="config"> |
| AliasMatch "^/image/(.*)$" "/ftp/pub/image/$1" |
| </highlight> |
| |
| <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> |
| |
| <highlight language="config"> |
| AliasMatch "^/image/(.*)\.jpg$" "/files/jpg.images/$1.jpg" |
| AliasMatch "^/image/(.*)\.gif$" "/files/gif.images/$1.gif" |
| </highlight> |
| |
| <p>İstek URL'sinin başındaki bölü çizgileri, bu modüldeki yönergeler istek |
| URL-yolu ile eşleştirilmeye çalışılmadan önce sunucu tarafından |
| yokedilir. |
| </p> |
| |
| </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> |
| |
| <highlight language="config"> |
| # Farklı bir konaktaki bir URL'ye yönlendirme |
| Redirect "/hizmet" "http://iki.example.com/hizmet" |
| |
| # Aynı konak üzerinde yönlendirme |
| Redirect "/bir" "/iki" |
| </highlight> |
| |
| <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. <a href="../expr.html">İfade |
| sözdizimi</a> kullanılan daha karmaşık eşleşmeler için URL-yolu seçeneği |
| aşağıda açıklandığı gibi yoksayılır. Düzenli ifadelerin kullanıldığı daha |
| karmaşık eşleşmeler için <directive |
| module="mod_alias">RedirectMatch</directive> |
| yönergesine de 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. <directive type="section" |
| module="core">Location</directive> bölümü içinde kullanılmış bir |
| <directive>Redirect</directive> yönergesi URL-yolu belirtilmiş |
| <directive>Redirect</directive> ve <directive>Alias</directive> |
| yönergelerine göre önceliklidir.</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> |
| |
| <highlight language="config"> |
| Redirect permanent "/bir" "http://example.com/iki" |
| Redirect 30" "/yedi" http://example.com/baskabisey" |
| </highlight> |
| |
| <p>Eğer <directive>Redirect</directive> yönergesi URL-yolu belirtilmemiş |
| bir <directive type="section" module="core">Location</directive> |
| veya <directive type="section" module="core">LocationMatch</directive> |
| bölümü içinde yer alıyorsa, URL seçeneği <a href="../expr.html">ifade |
| sözdizimi</a> kullanılarak yorumlanır.<br /> |
| Bu sözdizimi Apache 2.4.19 ve sonrasında kullanılabilir.</p> |
| |
| <highlight language="config"> |
| <Location "/bir"> |
| Redirect permanent "http://example.com/iki" |
| </Location> |
| <Location "/yedi"> |
| Redirect 303 "http://example.com/baskabisey" |
| </Location> |
| <LocationMatch "/error/(?<NUMBER>[0-9]+)"> |
| Redirect permanent "http://example.com/errors/%{env:MATCH_NUMBER}.html" |
| </LocationMatch> |
| </highlight> |
| |
| </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> |
| |
| <highlight language="config"> |
| RedirectMatch "(.*)\.gif$" "http://baska.example.com$1.jpg" |
| </highlight> |
| |
| <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> |
| <context>directory</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> |
| |
| <highlight language="config"> |
| ScriptAlias "/cgi-bin/" "/siteler/cgi-bin/" |
| </highlight> |
| |
| <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> |
| |
| <highlight language="config"> |
| Alias "/cgi-bin/" "/siteler/cgi-bin/" |
| <Location "/cgi-bin"> |
| SetHandler cgi-script |
| Options +ExecCGI |
| </Location> |
| </highlight> |
| |
| <p><directive>ScriptAlias</directive> yönergesini bir betik veya eylemci |
| ile birlikte de kullanabilirsiniz. Örnek:</p> |
| |
| <highlight language="config"> |
| ScriptAlias "/cgi-bin/" "/siteler/cgi-handler.pl" |
| </highlight> |
| |
| <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: |
| |
| <highlight language="config"> |
| <Directory "/usr/local/apache2/htdocs/cgi-bin" > |
| SetHandler cgi-script |
| Options ExecCGI |
| </Directory> |
| </highlight> |
| |
| 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> |
| |
| <p>Eğer <directive>ScriptAlias</directive> yönergesi URL-yolu belirtilmemiş |
| bir <directive type="section" module="core">Location</directive> |
| veya <directive type="section" module="core">LocationMatch</directive> |
| bölümü içinde yer alıyorsa, URL seçeneği <a href="../expr.html">ifade |
| sözdizimi</a> kullanılarak yorumlanır.<br /> |
| Bu sözdizimi Apache 2.4.19 ve sonrasında kullanılabilir.</p> |
| |
| <highlight language="config"> |
| <Location "/cgi-bin"> |
| ScriptAlias "/siteler/cgi-bin/" |
| </Location> |
| <LocationMatch "/cgi-bin/errors/(?<NUMBER>[0-9]+)"> |
| ScriptAlias "/siteler/cgi-bin/errors/%{env:MATCH_NUMBER}.cgi" |
| </LocationMatch> |
| </highlight> |
| |
| </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> |
| |
| <highlight language="config"> |
| ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1" |
| </highlight> |
| |
| <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> |
| |
| <highlight language="config"> |
| ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1" |
| </highlight> |
| |
| <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> |