httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nil...@apache.org
Subject svn commit: r678760 [3/3] - in /httpd/httpd/branches/2.2.x/docs/manual: ./ mod/ programs/ rewrite/ ssl/
Date Tue, 22 Jul 2008 13:41:24 GMT
Added: httpd/httpd/branches/2.2.x/docs/manual/urlmapping.xml.tr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/urlmapping.xml.tr?rev=678760&view=auto
==============================================================================
--- httpd/httpd/branches/2.2.x/docs/manual/urlmapping.xml.tr (added)
+++ httpd/httpd/branches/2.2.x/docs/manual/urlmapping.xml.tr [utf-8] Tue Jul 22 06:41:24 2008
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
+<!-- English Revision: 655009 -->
+<!-- =====================================================
+ 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.
+-->
+
+<manualpage metafile="urlmapping.xml.meta">
+
+  <title>URL’lerin Dosya Sistemi ile Eşleştirilmesi</title>
+
+  <summary>
+    <p>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.</p>
+  </summary>
+
+<section id="related"><title>İlgili Modüller ve Yönergeler</title>
+
+<related>
+<modulelist>
+<module>mod_alias</module>
+<module>mod_proxy</module>
+<module>mod_rewrite</module>
+<module>mod_userdir</module>
+<module>mod_speling</module>
+<module>mod_vhost_alias</module>
+</modulelist>
+<directivelist>
+<directive module="mod_alias">Alias</directive>
+<directive module="mod_alias">AliasMatch</directive>
+<directive module="mod_speling">CheckSpelling</directive>
+<directive module="core">DocumentRoot</directive>
+<directive module="core">ErrorDocument</directive>
+<directive module="core">Options</directive>
+<directive module="mod_proxy">ProxyPass</directive>
+<directive module="mod_proxy">ProxyPassReverse</directive>
+<directive module="mod_proxy">ProxyPassReverseCookieDomain</directive>
+<directive module="mod_proxy">ProxyPassReverseCookiePath</directive>
+<directive module="mod_alias">Redirect</directive>
+<directive module="mod_alias">RedirectMatch</directive>
+<directive module="mod_rewrite">RewriteCond</directive>
+<directive module="mod_rewrite">RewriteMatch</directive>
+<directive module="mod_alias">ScriptAlias</directive>
+<directive module="mod_alias">ScriptAliasMatch</directive>
+<directive module="mod_userdir">UserDir</directive>
+</directivelist>
+</related>
+</section>
+
+<section id="documentroot"><title><code>DocumentRoot</code></title>
+
+    <p>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
+      <directive module="core">DocumentRoot</directive> yönergesi ile
+      belirtilen dizinin sonuna eklemektir. Bu nedenle, <directive
+      module="core">DocumentRoot</directive> altındaki dizinler ve dosyalar
+      sitenin dışardan görünen temel belge ağacını oluştururlar.</p>
+
+    <p>Örneğin, <directive module="core">DocumentRoot</directive> yönergesine
+      <code>/var/http/html</code> atanmış olsun.
+      <code>http://mesela.dom/balıklar/zargana.html</code> şeklindeki bir
+      istek için istemciye <code>/var/http/html/balıklar/zargana.html</code>
+      dosyası sunulur.</p>
+
+    <p>Apache ayrıca, sunucunun birden fazla konak için istek kabul etmesini
+      sağlayan <a href="vhosts/">sanal barındırmaya</a> da muktedirdir. Bu
+      durumda her sanal konak için ayrı bir <directive module="core"
+      >DocumentRoot</directive> belirtilebileceği gibi sunulacak içeriğin
+      istekte bulunulan IP adresi veya konak ismine dayanarak devingen olarak
+      saptanmasını sağlayabilen <module>mod_vhost_alias</module> modülüyle
+      gelen yönergeler de kullanılabilir.</p>
+
+    <p><directive module="core">DocumentRoot</directive> yönergesi
+      yapılandırma dosyanızda ana sunucu için bir tane ve muhtemelen
+      oluşturduğunuz her <a href="vhosts/">sanal konak</a> için de birer
+      tanedir.</p>
+</section>
+
+<section id="outside"><title>Belge Kök Dizini Dışındaki Dosyalar</title>
+
+    <p>Bazen dosya sisteminde doğrudan <directive module="core"
+      >DocumentRoot</directive> 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 <directive module="core"
+      >DocumentRoot</directive> altındaymış gibi göstermek mümkündür.
+      <directive module="core">Options</directive> yönergesine değer olarak
+      <code>FollowSymLinks</code> veya <code>SymLinksIfOwnerMatch</code>
+      atanmadıkça Apache olası güvenlik açıklarına karşı öntanımlı olarak
+      sembolik bağları izlemez.</p>
+
+    <p>Bundan başka, dosya sisteminin farklı parçalarını belge kök dizini
+      altında göstermek için <directive module="mod_alias">Alias</directive>
+      yönergesi de kullanılabilir. Örneğin,</p>
+
+    <example>Alias /belgeler /var/http</example>
+
+    <p>yapılandırması ile
+      <code>http://mesela.dom/belgeler/dizin/dosya.html</code> URL’si için
+      dosya sistemindeki <code>/var/http/dizin/dosya.html</code> dosyası
+      sunulacaktır. Hedef dizindeki dosyaları birer <glossary ref="cgi"
+      >CGI</glossary> betiği olarak imlemesi dışında <directive
+      module="mod_alias" >ScriptAlias</directive> yönergesi de aynı şekilde
+      çalışır.</p>
+
+    <p>Biraz daha fazla esnekliğin gerektiği durumlarda  <glossary
+      ref="regex">düzenli ifadelere</glossary> dayalı eşleşmeler sağlamak
+      üzere <directive module="mod_alias">AliasMatch</directive> ve <directive
+      module="mod_alias" >ScriptAliasMatch</directive> yönergelerinin gücünden
+      yararlanılabilir. Örneğin,</p>
+
+    <example>ScriptAliasMatch ^/~([a-zA-Z0-9]+)/cgi-bin/(.+)
+      /home/$1/cgi-bin/$2</example>
+
+    <p>satırı sayesinde <code>http://mesela.dom/~user/cgi-bin/betik.cgi</code>
+      URL’si <code>/home/user/cgi-bin/betik.cgi</code> dosyası ile
+      eşleştirilir ve dosya bir CGI betiği olarak çalıştırılırdı.</p>
+</section>
+
+<section id="user"><title>Kullanıcı Dizinleri</title>
+
+    <p>Geleneksel olarak Unix sistemlerinde belli bir kullanıcının (örn,
+      <em>birisi</em>) ev dizinine <code>~birisi/</code> şeklinde
atıfta
+      bulunulabilir. <module>mod_userdir</module> 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:</p>
+
+    <example>http://mesela.dom/~birisi/dosya.html</example>
+
+    <p>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 <directive
+      module="mod_userdir">UserDir</directive> yönergesi sağlanmıştır.
+      Öntanımlı olan <code>Userdir public_html</code> yapılandırması ile
+      yukarıdaki gibi bir URL kullanıcının ev dizini (<code>/etc/passwd</code>
+      dosyasında belirtilir) <code>/home/birisi/</code> altında yer alan
+      <code>/home/birisi/public_html/dosya.html</code> dosyası ile
+      eşleşirdi.</p>
+
+    <p>Ev dizininin yerinin <code>/etc/passwd</code> dosyasında belirtilmediği
+      sistemlerde kullanılmak üzere <code>Userdir</code> yönergesinin başka
+      kullanım şekilleri de vardır.</p>
+
+    <p>Bazı kişiler (genellikle URL üzerinde <code>%7e</code> olarak
+      kodlanması sebebiyle) "~" simgesini biçimsiz bulabilir ve kullanıcı
+      dizinlerini imlemek için başka bir karakter kullanmayı tercih
+      edebilirler. Bu işlevsellik <module>mod_userdir</module> tarafından
+      desteklenmemektedir. Ancak, kullanıcı dizinleri düzgün şekilde
+      yapılandırılmışsa istenen etki <directive
+      module="mod_alias">AliasMatch</directive> yönergesi ile sağlanabilir.
+      Örneğin, <code>http://mesela.dom/sayfalar/birisi/dosya.html</code>
+      URL’si ile <code>/home/birisi/public_html/dosya.html</code> dosyasını
+      eşlemek için <code>AliasMatch</code> yönergesi şöyle
+      kullanılabilirdi:</p>
+
+    <example>AliasMatch ^/sayfalar/([a-zA-Z0-9]+)/?(.*)
+          /home/$1/public_html/$2</example>
+</section>
+
+<section id="redirect"><title>URL Yönlendirme</title>
+
+    <p>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 <em>yönlendirme</em> adı verilir ve bu
+      işlevsellik <directive module="mod_alias">Redirect</directive> yönergesi
+      ile sağlanır. Örneğin, <directive module="core">DocumentRoot</directive>
+      altındaki <code>/foo/</code> dizininin içeriğinin <code>/bar/</code>
+      adında yeni bir dizine taşınması halinde istemciye yeni konumun
+      bildirilmesi şöyle sağlanabilirdi:</p>
+
+    <example>Redirect permanent /foo/
+      http://mesela.dom/bar/</example>
+
+    <p>Bu atama sayesinde <code>/foo/</code> ile başlayan URL yolları
+      <code>mesela.dom</code> sunucundaki <code>/bar/</code> 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.</p>
+
+    <p>Apache ayrıca, yeniden yazma ile ilgili daha karmaşık sorunlara çözüm
+      olarak <directive module="mod_alias">RedirectMatch</directive> 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:</p>
+
+    <example>RedirectMatch permanent ^/$
+      http://misal.dom/ilksayfa.html</example>
+
+    <p>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:</p>
+
+    <example>RedirectMatch temp .*
+      http://mesela.misal.dom/ilksayfa.html</example>
+</section>
+
+<section id="proxy"><title>Karşı Vekil</title>
+
+    <p>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 <em>ters vekalet</em> 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.</p>
+
+    <p>Aşağıdaki örnekte, istemci <code>/foo/</code> dizini altından
bir belge
+      istemekte, sunucu ise bu belgeyi <code>dahili.mesela.dom</code>
+      üzerindeki <code>/bar/</code> dizininden alıp istemciye yerel sunucudan
+      geliyormuş gibi sunmaktadır:</p>
+
+    <example>
+      ProxyPass /foo/ http://dahili.mesela.dom/bar/<br />
+      ProxyPassReverse /foo/ http://dahili.mesela.dom/bar/<br />
+      ProxyPassReverseCookieDomain dahili.mesela.dom harici.mesela.dom<br />
+      ProxyPassReverseCookiePath /foo/ /bar/
+    </example>
+
+    <p><directive module="mod_proxy">ProxyPass</directive> sunucuyu uygun
+      belgeleri alması için yapılandırırken <directive module="mod_proxy"
+      >ProxyPassReverse</directive> yönergesi <code>dahili.mesela.dom</code>
+      sunucusundan kaynaklanan yönlendirmeleri yeniden yazar, böylece bunların
+      yerel sunucudaki yerleri belirlenmiş olur. Benzer şekilde,  <directive
+      module="mod_proxy">ProxyPassReverseCookieDomain</directive> ve
+      <directive module="mod_proxy">ProxyPassReverseCookiePath</directive>
+      yönergeleri de arka sunucu tarafından atanan çerezleri yeniden yazar.</p>
+
+    <p>Yalnız, belgelerin içindeki hiperbağların yeniden yazılmayacağına
+      dikkat ediniz. Dolayısıyla, belge içinde
+      <code>dahili.mesela.dom</code>’u ismiyle hedef alan mutlak hiperbağlar
+      varsa bunlar istemci tarafından vekil sunucudan değil doğrudan
+      <code>dahili.mesela.dom</code>’dan istenecektir. Üçüncü parti modüller
+      arasında HTML ve XHTML’de hiperbağları yeniden yazabilen <a
+      href="http://apache.webthing.com/mod_proxy_html/" >mod_proxy_html</a>
+      adında bir modül vardır.</p>
+</section>
+
+<section id="rewrite"><title>Yeniden Yazma Motoru</title>
+
+    <p>Daha güçlü ikameler gerektiğinde <module>mod_rewrite</module>
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.
+      <module>mod_rewrite</module> 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. <module>mod_rewrite</module> modülü
+      tarafından sağlanan yeteneklerin ayrıntılı açıklamaları ve bunların
+      kullanım örnekleri <a href="misc/rewriteguide.html">URL Yeniden Yazma
+      Rehberi</a>nde bulunmaktadır.</p>
+</section>
+
+<section id="notfound"><title>Dosya orada yok</title>
+
+    <p>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  <a href="#redirect">URL yönlendirmesi</a>
+      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.</p>
+
+    <p>"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 <module>mod_speling</module> (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, <module>mod_speling</module>
+      istemciye dosyanın doğru yerini bildiren bir HTTP yönlendirmesi yollar.
+      Benzer çok sayıda dosya varsa bunlar istemciye bir liste halinde
+      sunulur.</p>
+
+    <p><module>mod_speling</module> 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.</p>
+
+    <p>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 <directive module="core"
+      >ErrorDocument</directive> yönergesi ile denetlenebilir ve <a
+      href="custom-error.html" >Hata Yanıtlarının Kişiselleştirilmesi</a>
+      bölümünde anlatıldığı gibi oldukça esnek bir şekilde
+      kişiselleştirilebilir.</p>
+</section>
+
+</manualpage>



Mime
View raw message