Movatterモバイル変換


[0]ホーム

URL:


Modüller |Yönergeler |SSS |Terimler |Site Haritası

Apache HTTP Sunucusu Sürüm 2.4

<-
Apache >HTTP Sunucusu >Belgeleme >Sürüm 2.4 >Modüller

Apache Modülü mod_alias

Mevcut Diller: en  | fr  | ja  | ko  | tr 

Bu çeviri güncel olmayabilir. Son değişiklikler için İngilizce sürüm geçerlidir.
Açıklama:Belge ağacının parçalarının dosya sisteminin parçalarıylaeşlenmesini sağlar ve URL yönlendirmesi yapar.
Durum:Temel
Modül Betimleyici:alias_module
Kaynak Dosyası:mod_alias.c

Özet

Bu modülde bulunan yönergeler sunucuya istek olarak gelen URL’lerin denetlenmesini ve değiştirilmesini mümkün kılar.Alias veScriptAlias yönergeleri URL’lerin dosya sisteminin dizinlerine eşlenmesini sağlar. Böylece, kök diziniDocumentRoot ile belirtilen site belge ağacı altında bulunmayan içeriğe erişmek mümkün olur.ScriptAlias yönergesi buna ek olarak hedef dizini sadece CGI betiklerini içeren dizin olarak imler.

Redirect 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.

Alias,ScriptAlias veRedirect yönergeleri<Location> veya<LocationMatch> bölümleri içinde kullanıldığında hedef yolu veya URL'yi betimlemek içinifade sözdizimi kullanılabilir.

mod_alias 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çinmod_rewrite modülü ile sağlanan araçlar kullanılır.

Support Apache!

Konular

Yönergeler

Bulunan hatalar

Ayrıca bakınız:

top

İşlem Sırası

Farklı bağlamlarda bulunanAlias veRedirect yönergeleri standartkatıştırma kuralları ile ilgili diğer yönergeler gibi işleme sokulur. Fakat aynı bağlam dahilinde (örneğin, aynı<VirtualHost> bölümünde) çok fazlaAlias veRedirect varsa bunlar belli bir sıraya göre işleme sokulurlar.

İlk adımda,Alias’lardan önce bütünRedirect yönergeleri işleme sokulur. Bu bakımdan birRedirect veyaRedirectMatch ile eşleşen bir istek için hiçbirAlias uygulanmayacaktır. İkinci adımda yapılandırma dosyasında yer aldıkları sıraya göreRedirect veAlias yönergeleri işleme sokulurlar, dolayısıyla ilk eşleşme öncelikli olmuş olur.

İ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:

Alias "/foo/bar" "/baz"Alias "/foo" "/gaq"

Ama yukarıdaki iki satır ters sırada yerleştirilmiş olsaydı,/foo rumuzu daima/foo/bar rumuzundan önce eşleşecek, dolayısıyla ikinci yönerge yok sayılacaktı.

Alias,ScriptAlias veRedirect yönergeleri<Location> veya<LocationMatch> bölümleri içinde kullanıldığında bu yönergeler küresel olarak tanımlıAlias,ScriptAlias veRedirect yönergelerinden öncelikli olur.

top

AliasYönergesi

Açıklama:URL’leri dosya sistemi konumlarıyla eşler.
Sözdizimi:Alias [URL-yolu]dosya-yolu |dizin-yolu
Bağlam:sunucu geneli, sanal konak, dizin
Durum:Temel
Modül:mod_alias

Alias yönergesi, belgelerinDocumentRoot dizininden farklı bir yerde saklanmasını mümkün kılar.URL-yolu ile başlayan URL’ler (% imlemesi çözüldükten sonra)dizin-yolu ile başlayan yerel dosyalarla eşlenir.URL-yolu, harf büyüklüğüne duyarsız sistemlerde bile harf büyüklüğüne duyarlıdır.

Alias "/image" "/ftp/pub/image"

http://example.com/image/foo.gif şeklinde bir istek, sunucunun/ftp/pub/image/foo.gif dosyasıyla yanıt vermesine sebep olurdu. Sadece tam yol parçaları eşleştirilir; bu bakımdan yukarıdakiAlias yapılandırmasıhttp://example.com/imagefoo.gif ile eşleşmez. Düzenli ifadelerin kullanıldığı daha karmaşık eşleşmeler içinAliasMatch yönergesine bakınız.

URL-yolu’nu bir/ ile sonlandırırsanızAlias yönergesini yorumlarken sunucunun da sona bir/ ekleyeceğine dikkat ediniz. Yani, eğer

Alias "/icons/" "/usr/local/apache/icons/"

diye bir tanım yaparsanız sona bir / ekleme ihtiyacından dolayı/icons URL’si için birAlias kullanılmayacaktır.

Aliashedefleri için ek<Directory> bölümleri belirtmeniz gerekebileceğine dikkat ediniz.<Directory> bölümlerinden önce yer alanAlias yönergelerine özellikle bakılır, dolayısıyla sadeceAlias hedefleri etkilenir. (Bununla birlikte,Alias yönergelerinden önce işleme sokulan<Location> bölümlerinin uygulanacağına dikkat ediniz.)

Özellikle,DocumentRoot dışında bir dizine birAlias oluşturuyorsanız hedef dizine doğrudan erişim izni vermeniz gerekebilir.

Alias "/image" "/ftp/pub/image"<Directory "/ftp/pub/image">    Require all granted</Directory>

URL-yolu değiştirgesindeki bölü çizgilerinin sayısı istek URL-yolundakiler kadardır.

EğerAlias yönergesi<Location> veya<LocationMatch> bölümleri içinde kullanılırsa URL-yolu yoksayılır ve dosya-yoluifade sözdizimi kullanılarak yorumlanır.
Bu sözdizimi Apache 2.4.19 ve sonrasında kulanılabilir.

<Location "/image">    Alias "/ftp/pub/image"</Location><LocationMatch "/error/(?<NUMBER>[0-9]+)">    Alias "/usr/local/apache/errors/%{env:MATCH_NUMBER}.html"</LocationMatch>
top

AliasMatchYönergesi

Açıklama:URL’leri dosya sistemi konumlarıyla düzenli ifadeleri kullanarakeşler.
Sözdizimi:AliasMatch "düzenli-ifade""dosya-yolu|dizin-yolu"
Bağlam:sunucu geneli, sanal konak
Durum:Temel
Modül:mod_alias

Bu yönergeURL-yolu ile eşleşmek üzere birdüzenli ifade kabul etmesi dışındaAlias yönergesine eşdeğerdir. Belirtilen düzenli ifadeURL-yolu ile eşleşiyorsa sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak dosya yolunu elde eder. Örneğin,/icons dizinini etkinleştirmek için şu yazılabilir:

AliasMatch "^/icons(.*)" "/usr/local/apache/icons$1"

Düzenli ifadelerin tamamı kullanılabilmektedir. Örneğin,URL-yolu ile harf büyüklüğüne duyarsız eşleşmeler sağlayacak takma adlar kullanılabilir:

AliasMatch "(?i)^/image(.*)" "/ftp/pub/image$1"

Alias veAliasMatch yönergeleri arasındaki başlıca farkAlias 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.AliasMatch 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.

Başka bir deyişle, basitçeAlias yerineAliasMatch yazmakla aynı etkiyi alamazsınız. En azından düzenli ifadenin başına bir^ ve sonuna bir(.*)$, ikinci değiştirgenin sonuna da bir$1 eklemeniz gerekir.

Örneğin aşağıdakini AliasMatch ile değiştirmek isteyelim:

Alias "/image/" "/ftp/pub/image/"

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:

AliasMatch "/image/" "/ftp/pub/image/"

Aynı etkiyi elde etmek için bu gerekiyor:

AliasMatch "^/image/(.*)$" "/ftp/pub/image/$1"

Şüphesiz,Alias yönergesini çalıştığı yerdeAliasMatch kullanmanın hiç gereği yoktur.AliasMatch daha karmaşık şeyler yapmamızı sağlar. Örneğin farklı dosya çeşitlerini farklı dizinlerden sunmak isteyelim:

AliasMatch "^/image/(.*)\.jpg$" "/files/jpg.images/$1.jpg"AliasMatch "^/image/(.*)\.gif$" "/files/gif.images/$1.gif"

İ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.

top

AliasPreservePathYönergesi

Açıklama:Map the full path after the alias in a location.
Sözdizimi:AliasPreservePath OFF|ON
Öntanımlı:AliasPreservePath OFF
Bağlam:sunucu geneli, sanal konak, dizin
Durum:Temel
Modül:mod_alias
Uyumluluk:2.4.58 and later

Bu yönergenin belgesi henüz Türkçeye çevrilmedi. Lütfen İngilizce sürümüne bakınız.

top

RedirectYönergesi

Açıklama:İstemciyi, bir yönlendirme isteği döndürerek farklı bir URL’yeyönlendirir.
Sözdizimi:Redirect [durum] [URL-yolu]URL
Bağlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_alias

Redirect yönergesi istemciye bir yönlendirme isteği döndürerek eski URL’yi yenisiyle eşler.

EskiURL-yolu bir bölü çizgisi ile başlar ve harf büyüklüğüne duyarlıdır (% imlemesi çözüldükten sonra).URL-yolu olarak göreli yollara izin verilmez.

URL 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.

URL-yolu ile başlayan istekler istemciye hedefURL konumuna bir yönlendirme isteği olarak dönecektir.URL-yolu’nun devamı niteliğindeki ek yol hedef URL’ye eklenir.

# Farklı bir konaktaki bir URL'ye yönlendirmeRedirect "/hizmet" "http://iki.example.com/hizmet"# Aynı konak üzerinde yönlendirmeRedirect "/bir" "/iki"

İstemcinin yaptığıhttp://example.com/hizmet/fesmekan.txt isteğine karşılık istemciye isteğihttp://iki.example.com/hizmet/fesmekan.txt olarak yapması söylenecektir. BuGET isteklerinde de geçerlidir. Örneğin,http://example.com/hizmet/foo.pl?q=23&a=42 isteğihttp://iki.example.com/hizmet/foo.pl?q=23&a=42 adresine yönlendirilir.POST'ların iptal edileceğini unutmayın.
Sadece tam yol parçaları eşleştirilir, bu nedenlehttp://example.com/hizmetfesmekan.txt isteği yukarıdaki yönlendirme ile eşleşmeyecektir.İfade sözdizimi 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çinRedirectMatch yönergesine de bakınız.

Bilginize

Yapılandırma dosyasında yer alış sırasına bakmaksızınRedirect yönergeleriAlias veScriptAlias yönergelerinden önce ele alınır.<Location> bölümü içinde kullanılmış birRedirect yönergesi URL-yolu belirtilmişRedirect veAlias yönergelerine göre önceliklidir.

Herhangi birdurum 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ılabilecekdurum değerleri:

permanent
İstemciye özkaynağın kalıcı olarak taşındığını belirten kalıcı yönlendirme durumu (301) döndürülür.
temp
İstemciye geçici yönlendirme durumu (302) döner. Bu öntanımlıdır.
seeother
İstemciye özkaynağın yerine başka bir şey konduğunu belirten "diğerine bak" durumu (303) döndürülür.
gone
İstemciye özkaynağın kalıcı olarak kaldırıldığını belirten "ölü bağlantı" durumu (410) döner. Bu durumdaURL belirtilmez.

Diğer durum kodları içindurum değiştirgesiyle sayısal durum kodu belirtilir. Eğer durum 300 ile 399 arasındaysa birURL belirtmek gereklidir. Aksi takdirde,URL bileşeni ihmal edilmelidir. Belirtilecek durum kodunun geçerli bir HTTP Status kodu olmalı ve Apache HTTP Sunucusu kodu bilmelidir (http_protocol.c dosyasında bulunansend_error_response işlevine bakınız).

Redirect permanent "/bir" "http://example.com/iki"Redirect 30" "/yedi" http://example.com/baskabisey"

EğerRedirect yönergesi URL-yolu belirtilmemiş bir<Location> veya<LocationMatch> bölümü içinde yer alıyorsa, URL seçeneğiifade sözdizimi kullanılarak yorumlanır.
Bu sözdizimi Apache 2.4.19 ve sonrasında kullanılabilir.

<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>
top

RedirectMatchYönergesi

Açıklama:Geçerli URL ile eşleşen bir düzenli ifadeye dayanarak bir hariciyönlendirme gönderir.
Sözdizimi:RedirectMatch [durum]düzenli-ifadeURL
Bağlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_alias

Bu yönergeURL-yolu ile eşleşmek üzere birdüzenli ifade kabul etmesi dışındaRedirect yönergesine eşdeğerdir. Belirtilen düzenli ifadeURL-yolu 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:

RedirectMatch "(.*)\.gif$" "http://baska.example.com$1.jpg"

Alias veAliasMatch arasındaki farklarla ilgili hususlarRedirect veRedirectMatch arasındakilere de uygulanır. Ayrıntılar içinAliasMatch yönergesine bakınız.

top

RedirectPermanentYönergesi

Açıklama:İstemciyi, kalıcı bir yönlendirme isteği döndürerek farklı birURL’ye yönlendirir.
Sözdizimi:RedirectPermanentURL-yoluURL
Bağlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_alias

Bu yönerge istemciye daima kalıcı yönlendirme durumu (301) döndürür. Yani,Redirect permanent ile aynı işi yapar.

top

RedirectRelativeYönergesi

Açıklama:Allows relative redirect targets.
Sözdizimi:RedirectRelative On|Off
Öntanımlı:RedirectRelative Off
Bağlam:sunucu geneli, sanal konak, dizin
Durum:Temel
Modül:mod_alias
Uyumluluk:2.4.58 and later

Bu yönergenin belgesi henüz Türkçeye çevrilmedi. Lütfen İngilizce sürümüne bakınız.

top

RedirectTempYönergesi

Açıklama:İstemciyi, geçici bir yönlendirme isteği döndürerek farklı birURL’ye yönlendirir.
Sözdizimi:RedirectTempURL-yoluURL
Bağlam:sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme:FileInfo
Durum:Temel
Modül:mod_alias

Bu yönerge istemciye daima geçici yönlendirme durumu (302) döndürür. Yani,Redirect temp ile aynı işi yapar.

top

ScriptAliasYönergesi

Açıklama:Bir URL’yi dosya sistemindeki bir yere eşler ve hedefi bir CGI betiği olarak çalıştırır.
Sözdizimi:ScriptAlias [URL-yolu]dosya-yolu|dizin-yolu
Bağlam:sunucu geneli, sanal konak, dizin
Durum:Temel
Modül:mod_alias

Hedef dizini,mod_cgi modülünün CGI betiği yorumlayıcısı tarafından çalıştırılacak betikleri içeren dizin olarak imlemesi dışındaAlias yönergesinin yaptığı işi yapar.URL-yolu ile başlayan harf büyüklüğüne duyarlı URL’ler (% imlemesi çözüldükten sonra), dosya sistemindeki bir tam yol olarak belirtilmişdizin-yolu ile başlayan betiklerle eşlenir.

ScriptAlias "/cgi-bin/" "/siteler/cgi-bin/"

http://example.com/cgi-bin/foo şeklindeki bir istek sunucunun/siteler/cgi-bin/foo betiğini çalıştırmasına sebep olur. Bu yapılandırma aslında şuna eşdeğerdir:

Alias "/cgi-bin/" "/siteler/cgi-bin/"<Location "/cgi-bin">    SetHandler cgi-script    Options +ExecCGI</Location>

ScriptAlias yönergesini bir betik veya eylemci ile birlikte de kullanabilirsiniz. Örnek:

ScriptAlias "/cgi-bin/" "/siteler/cgi-handler.pl"

Bu senaryoda/cgi-bin/’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.

Yapılandırma değiştiğinde kaynak kodlarının ister istemez açığa çıkmasını istemiyorsanız CGI betikleriniziDocumentRoot altına koymayınız.ScriptAlias yönergesi URL’yi doğru yere eşlemekten başka orayı bir CGI betikleri dizini olarak imler. CGI betikleriniziDocumentRoot altına koyarsanız çalıştırmak içinScriptAlias değil,<Directory>,SetHandler veOptions yönergelerini örnekteki gibi kullanın:
<Directory "/usr/local/apache2/htdocs/cgi-bin" >    SetHandler cgi-script    Options ExecCGI</Directory>
Aynı dosya sistemi konumu ile çok sayıdaURL-yolu eşleşebileceğinden, birDirectory bölümü ile sınırlanmadığı takdirde CGI betiklerinin kaynak kodları açığa çıkabilir; bu bakımdanScriptAlias yönergesini yok sayan URL yollarının belirtilebilme olasılığı gözardı edilmemelidir.

EğerScriptAlias yönergesi URL-yolu belirtilmemiş bir<Location> veya<LocationMatch> bölümü içinde yer alıyorsa, URL seçeneğiifade sözdizimi kullanılarak yorumlanır.
Bu sözdizimi Apache 2.4.19 ve sonrasında kullanılabilir.

<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>

Ayrıca bakınız:

top

ScriptAliasMatchYönergesi

Açıklama:Bir URL’yi dosya sistemindeki bir yere düzenli ifade kullanarakeşler ve hedefi bir CGI betiği olarak çalıştırır.
Sözdizimi:ScriptAliasMatchdüzenli-ifadedosya-yolu|dizin-yolu
Bağlam:sunucu geneli, sanal konak
Durum:Temel
Modül:mod_alias

Bu yönergeURL-yolu ile eşleşmek üzere birdüzenli ifade kabul etmesi dışındaScriptAlias yönergesine eşdeğerdir. Belirtilen düzenli ifadeURL-yolu ile eşleşiyorsa sunucu parantezli eşleşmeleri belirtilen dizgede kullanarak dosya yolunu elde eder. Örneğin, standart/cgi-bin dizinini etkin kılmak için şu yazılabilir:

ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"

AliasMatch yönergesindeki gibi,düzenli ifadelerin tamamı tüm güçleriyle kullanılabilmektedir. Örneğin,URL-yolu için harf büyüklüğüne duyarsız eşleşmeli bir takma ad oluşturmak mümkünür:

ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"

Alias veAliasMatch arasındaki farklarla ilgili hususlarScriptAlias veScriptAliasMatch arasındakilere de uygulanır. Ayrıntılar içinAliasMatch yönergesine bakınız.

Mevcut Diller: en  | fr  | ja  | ko  | tr 

top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to ourmailing lists.

Copyright 2025 The Apache Software Foundation.
Apache License, Version 2.0 altında lisanslıdır.

Modüller |Yönergeler |SSS |Terimler |Site Haritası


[8]ページ先頭

©2009-2025 Movatter.jp