X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=rubbos%2Fapp%2Fapache2%2Fmanual%2Furlmapping.html.tr.utf8;fp=rubbos%2Fapp%2Fapache2%2Fmanual%2Furlmapping.html.tr.utf8;h=15b08299663aff0fed13a14a7eff8fafc6ec9c02;hb=cc40af334e619bb549038238507407866f774f8f;hp=0000000000000000000000000000000000000000;hpb=68e74fd78b2485e5914ce34a5b30f4485029e021;p=bottlenecks.git diff --git a/rubbos/app/apache2/manual/urlmapping.html.tr.utf8 b/rubbos/app/apache2/manual/urlmapping.html.tr.utf8 new file mode 100644 index 00000000..15b08299 --- /dev/null +++ b/rubbos/app/apache2/manual/urlmapping.html.tr.utf8 @@ -0,0 +1,270 @@ + + +
+Apache HTTP Sunucusu Sürüm 2.0
+Bu belgede, bir istekte belirtilen URLânin sunulacak dosyanın dosya + sistemindeki yerini bulmak için Apache tarafından nasıl kullanıldıÄı + açıklanmaktadır.
+İlgili Modüller | İlgili Yönergeler |
---|---|
DocumentRoot
Yapılan bir isteÄe hangi dosyanın sunulacaÄına karar verirken
+ Apacheânin öntanımlı davranıÅı istek için URL yolunu (URLâden konak ismi
+ ve port ayrıldıktan sonra kalan kısım) alıp bunu yapılandırma dosyasında
+ DocumentRoot
yönergesi ile
+ belirtilen dizinin sonuna eklemektir. Bu nedenle, DocumentRoot
altındaki dizinler ve dosyalar
+ sitenin dıÅardan görünen temel belge aÄacını oluÅtururlar.
ÃrneÄin, DocumentRoot
yönergesine
+ /var/http/html
atanmıŠolsun.
+ http://mesela.dom/balıklar/zargana.html
Åeklindeki bir
+ istek için istemciye /var/http/html/balıklar/zargana.html
+ dosyası sunulur.
Apache ayrıca, sunucunun birden fazla konak için istek kabul etmesini
+ saÄlayan sanal barındırmaya da muktedirdir. Bu
+ durumda her sanal konak için ayrı bir DocumentRoot
belirtilebileceÄi gibi sunulacak içeriÄin
+ istekte bulunulan IP adresi veya konak ismine dayanarak devingen olarak
+ saptanmasını saÄlayabilen mod_vhost_alias
modülüyle
+ gelen yönergeler de kullanılabilir.
Bazen dosya sisteminde doÄrudan DocumentRoot
altında bulunmayan dosyalara da eriÅim izni
+ vermek gerekir. Apacheâde bunu saÄlamanın çeÅitli yolları vardır. Unix
+ sistemlerinde sembolik baÄlar sayesinde dosya sisteminin farklı
+ yerlerindeki dosyaları ve dizinleri DocumentRoot
altındaymıŠgibi göstermek mümkündür.
+ Options
yönergesine deÄer olarak
+ FollowSymLinks
veya SymLinksIfOwnerMatch
+ atanmadıkça Apache olası güvenlik açıklarına karÅı öntanımlı olarak
+ sembolik baÄları izlemez.
Bundan baÅka, dosya sisteminin farklı parçalarını belge kök dizini
+ altında göstermek için Alias
+ yönergesi de kullanılabilir. ÃrneÄin,
Alias /belgeler /var/http
yapılandırması ile
+ http://mesela.dom/belgeler/dizin/dosya.html
URLâsi için
+ dosya sistemindeki /var/http/dizin/dosya.html
dosyası
+ sunulacaktır. Hedef dizindeki dosyaları birer â CGI betiÄi olarak imlemesi dıÅında ScriptAlias
yönergesi de aynı Åekilde
+ çalıÅır.
Biraz daha fazla esnekliÄin gerektiÄi durumlarda â düzenli ifadelere dayalı eÅleÅmeler saÄlamak
+ üzere AliasMatch
ve ScriptAliasMatch
yönergelerinin gücünden
+ yararlanılabilir. ÃrneÄin,
ScriptAliasMatch ^/~([a-zA-Z0-9]+)/cgi-bin/(.+)
+ /home/$1/cgi-bin/$2
satırı sayesinde http://mesela.dom/~user/cgi-bin/betik.cgi
+ URLâsi /home/user/cgi-bin/betik.cgi
dosyası ile
+ eÅleÅtirilir ve dosya bir CGI betiÄi olarak çalıÅtırılırdı.
Geleneksel olarak Unix sistemlerinde belli bir kullanıcının (örn,
+ birisi) ev dizinine ~birisi/
Åeklinde atıfta
+ bulunulabilir. mod_userdir
modülü bu özelliÄi site
+ üzerinden kullanıcıların ev dizinlerindeki dosyaları kiÅisel sayfalar
+ olarak sunmalarını saÄlamak üzere kullanır. Ãrnek:
http://mesela.dom/~birisi/dosya.html
Güvenlik sebebiyle kullanıcıların ev dizinlerine doÄrudan HTTP eriÅimi
+ vermek uygun olmaz. Bu bakımdan, kullanıcının ev dizini altında HTTP
+ eriÅimi verilecek dosyaların bulunduÄu dizini belirtmek için UserDir
yönergesi saÄlanmıÅtır.
+ Ãntanımlı olan Userdir public_html
yapılandırması ile
+ yukarıdaki gibi bir URL kullanıcının ev dizini (/etc/passwd
+ dosyasında belirtilir) /home/birisi/
altında yer alan
+ /home/birisi/public_html/dosya.html
dosyası ile
+ eÅleÅirdi.
Ev dizininin yerinin /etc/passwd
dosyasında belirtilmediÄi
+ sistemlerde kullanılmak üzere Userdir
yönergesinin baÅka
+ kullanım Åekilleri de vardır.
Bazı kiÅiler (genellikle URL üzerinde %7e
olarak
+ kodlanması sebebiyle) "~" simgesini biçimsiz bulabilir ve kullanıcı
+ dizinlerini imlemek için baÅka bir karakter kullanmayı tercih
+ edebilirler. Bu iÅlevsellik mod_userdir
tarafından
+ desteklenmemektedir. Ancak, kullanıcı dizinleri düzgün Åekilde
+ yapılandırılmıÅsa istenen etki AliasMatch
yönergesi ile saÄlanabilir.
+ ÃrneÄin, http://mesela.dom/sayfalar/birisi/dosya.html
+ URLâsi ile /home/birisi/public_html/dosya.html
dosyasını
+ eÅlemek için AliasMatch
yönergesi Åöyle
+ kullanılabilirdi:
AliasMatch ^/sayfalar/([a-zA-Z0-9]+)/?(.*)
+ /home/$1/public_html/$2
Yukarıdaki bölümlerde açıklanan yapılandırma yönergeleri Apacheâye
+ içeriÄi dosya sisteminin belli bir yerinden alıp istemciye göndermesini
+ söyler. Bazen istemciye, istediÄi içeriÄe farklı bir URL ile
+ eriÅebileceÄini ve bu URL için ayrı bir istek yapması gerektiÄini
+ bildirmek gerekir. Bu iÅleme yönlendirme adı verilir ve bu
+ iÅlevsellik Redirect
yönergesi
+ ile saÄlanır. ÃrneÄin, DocumentRoot
+ altındaki /foo/
dizininin içeriÄinin /bar/
+ adında yeni bir dizine taÅınması halinde istemciye yeni konumun
+ bildirilmesi Åöyle saÄlanabilirdi:
Redirect permanent /foo/
+ http://mesela.dom/bar/
Bu atama sayesinde /foo/
ile baÅlayan URL yolları
+ mesela.dom
sunucundaki /bar/
dizini altındaki
+ içeriÄe yönlendirilmektedir. Yönlendirmeyi aynı sunucu üzerinde yapmak
+ zorunda deÄilsiniz, bu yönerge ile baÅka bir sunucuya da yönlendirme
+ yapabilirsiniz.
Apache ayrıca, yeniden yazma ile ilgili daha karmaÅık sorunlara çözüm
+ olarak RedirectMatch
diye bir
+ yönerge daha saÄlar. ÃrneÄin bir sitenin baÅ sayfasını diÄer isteklerden
+ ayrı olarak farklı bir siteye yönlendirmek için yönergeyi Åöyle
+ kullanabilirsiniz:
RedirectMatch permanent ^/$
+ http://misal.dom/ilksayfa.html
Bundan baÅka, bir sitedeki tüm sayfalara yapılan istekleri baÅka bir + siteye geçici olarak yönlendirmek için Åöyle bir Åey yapabilirsiniz:
+ +RedirectMatch temp .*
+ http://mesela.misal.dom/ilksayfa.html
Apache ayrıca, uzak sunuculardaki belgelerin yerel sunucunun URL + alanına getirilmesini de mümkün kılar. Bu tekniÄe HTTP sunucunun + belgeleri uzak bir sunucudan alıp istemciye sunmasını saÄlayarak bir + vekil sunucu gibi davranması nedeniyle ters vekalet adı + verilir. Belgelerin istemciye özkaynaÄın bulunduÄu sunucudan + geliyormuÅ gibi deÄilde doÄrudan isteÄi yaptıÄı sunucudan geliyormuÅ + gibi sunulması nedeniyle bu iÅlem normal vekaletten farklıdır.
+ +AÅaÄıdaki örnekte, istemci /foo/
dizini altından bir belge
+ istemekte, sunucu ise bu belgeyi dahili.mesela.dom
+ üzerindeki /bar/
dizininden alıp istemciye yerel sunucudan
+ geliyormuŠgibi sunmaktadır:
+ ProxyPass /foo/ http://dahili.mesela.dom/bar/
+ ProxyPassReverse /foo/ http://dahili.mesela.dom/bar/
+
ProxyPass
sunucuyu uygun
+ belgeleri alması için yapılandırırken ProxyPassReverse
yönergesi dahili.mesela.dom
+ sunucusundan kaynaklanan yönlendirmeleri yeniden yazar. Yalnız,
+ belgelerin içindeki hiperbaÄların yeniden yazılmayacaÄına dikkat ediniz.
+ Dolayısıyla, belge içinde dahili.mesela.dom
âu ismiyle hedef
+ alan mutlak hiperbaÄlar varsa bunlar istemci tarafından vekil sunucudan
+ deÄil doÄrudan dahili.mesela.dom
âdan istenecektir.
Daha güçlü ikameler gerektiÄinde mod_rewrite
modülü
+ tarafından saÄlanan yeniden yazma motoru iÅe yarayabilir. Bu modüldeki
+ yönergeler sunulacak içeriÄin yerine karar vermek için kaynak IP adresi,
+ tarayıcı türü gibi isteÄe özgü özellikleri kullanırlar.
+ mod_rewrite
modülü buna ek olarak isteÄin nasıl ele
+ alınacaÄına karar vermek için harici yazılımları ve veritabanlarını
+ kullanabilir. Yeniden yazma motoru yukarıda deÄinilen üç eÅleÅme türünü
+ de uygulayabilecek yetenektedir: Dahili yönlendirmeler (rumuzlar),
+ harici yönlendirmeler ve vekalet. mod_rewrite
modülü
+ tarafından saÄlanan yeteneklerin ayrıntılı açıklamaları ve bunların
+ kullanım örnekleri URL Yeniden Yazma
+ Rehberinde bulunmaktadır.
Kaçınılmaz olarak, dosya sisteminde mevcut olmayan dosyalar için de + istek yapılacaktır. Bunun çeÅitli sebepleri olabilir. Bazı durumlarda + bu, belgelerin yerlerininin deÄiÅtirilmesinin bir sonucu olabilir. Bu + durumda yapılacak en iyi Åey, istemciyi belgeyi yeni yerinden istemesi + için bilgilendirmek amacıyla URL yönlendirmesi + kullanmaktır. Bu Åekilde, içeriÄin yeri deÄiÅse bile eski yer imlerinin + ve hiperbaÄların çalıÅmaya devam edeceklerinden emin olabilirsiniz.
+ +"Dosya orada yok" ("File Not Found") hatalarının diÄer bir bildik
+ sebebi de URLâlerin hiperbaÄlarda veya doÄrudan tarayıcıda kasıtlı ya da
+ kasıtsız, yanlıŠyazılmasıdır. Bu tür sorunlarda yardımcı olması için
+ Apache mod_speling
(sic) adında bir modülle gelir. Bu
+ modül etkin kılındıÄında Apache, "Dosya orada yok" ("File Not Found")
+ hatalarının önünü kesip baÅka bir yerde benzer isimde bir dosya var mı
+ diye bakar. Böyle bir dosya varsa, mod_speling
+ istemciye dosyanın doÄru yerini bildiren bir HTTP yönlendirmesi yollar.
+ Benzer çok sayıda dosya varsa bunlar istemciye bir liste halinde
+ sunulur.
mod_speling
modülünün en yararlı özelliklerinden biri
+ de dosya isimlerini harf büyüklüÄüne duyarsız olarak arayabilmesidir.
+ Dosya isimlerinde harf büyüklüÄünün önemli olduÄu Unix benzeri sistemler
+ hakkında bilgisi olmayan kullanıcılara sahip sistemlerin kullanıcılarına
+ bu büyük yarar saÄlar. Fakat modülün URL düzeltmekten baÅka Åeyler için
+ de kullanılması, istemcilerden gelen neredeyse her isteÄin URL
+ yönlendirmesine konu olmasına sebep olarak sunucunun yükünü
+ arttırabilir.
Yerinde bulunmayan içeriÄin bulunması çabalarının tümü Apacheânin 404
+ (Dosya orada yok) HTTP durum kodlu bir hata sayfası döndürmesine yol
+ açar. Bu sayfanın içeriÄi ErrorDocument
yönergesi ile denetlenebilir ve Hata Yanıtlarının KiÅiselleÅtirilmesi ve Uluslararası Hata Yanıtları
+ belgelerinde anlatıldıÄı gibi oldukça esnek bir Åekilde
+ kiÅiselleÅtirilebilir.