Bu modülde bulunan yönergeler sunucuya istek olarak gelen URL’lerin
denetlenmesini ve değiştirilmesini mümkün kılar.
Farklı bağlamlarda bulunan
İlk adımda,
İ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:
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ı.
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.
http://sunucum/image/foo.gif
şeklinde bir istek, sunucunun
/ftp/pub/image/foo.gif
dosyasıyla yanıt vermesine sebep
olurdu.
URL-yolu
’nu bir /
ile
sonlandırırsanız /
ekleyeceğine dikkat ediniz. Yani,
eğer
Alias /icons/ /usr/local/apache/icons/
diye bir tanım yaparsanız /icons
URL’si için bir
Özellikle,
Bu yönerge URL-yolu
ile eşleşmek üzere bir
URL-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:
Ayrıca, URL-yolu
ile harf büyüklüğüne duyarsız
eşleşmeler sağlayacak düzenli ifadeler de kullanılabilir:
Eski URL-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 bir şema ve konak ismi ile başlayan bir
mutlak URL olmalıdır.
İstemcinin yaptığı http://mesela.dom/hizmet/fesmekan.txt
isteğine karşılık istemciye isteği
http://iki.mesela.dom/hizmet/fesmekan.txt
olarak yapması
söylenecektir.
Yapılandırma dosyasında yer alış sırasına bakmaksızın
.htaccess
dosyaları içinde bile kullanılsa URL-yolu
göreli
bir yol değil, tam nitelikli bir URL olmak zorundadır.
Herhangi bir durum
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 durum
değerleri:
permanent
temp
seeother
gone
URL
belirtilmez.Diğer durum kodları için durum
olarak sayısal
durum kodu belirtilir. Eğer durum 300 ile 399 arasındaysa bir
URL
belirtmek gereklidir, yoksa belirtilmez.
Belirtilecek durum kodunu Apache’nin bilmesi gerektiğine dikkat ediniz
(http_protocol.c
dosyasında bulunan
send_error_response
işlevine bakınız).
Bu yönerge URL-yolu
ile eşleşmek üzere bir
URL-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:
Bu yönerge istemciye daima geçici yönlendirme durumu (302) döndürür.
Yani, Redirect temp
ile aynı işi yapar.
Bu yönerge istemciye daima kalıcı yönlendirme durumu (301) döndürür.
Yani, Redirect permanent
ile aynı işi yapar.
Hedef dizini, 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.
http://sunucum/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:
URL-yolu
eşleşebileceğinden, bir Bu yönerge URL-yolu
ile eşleşmek üzere bir
URL-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: