365 lines
28 KiB
XML
365 lines
28 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head>
|
||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
|
||
<!--
|
||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||
This file is generated from xml source: DO NOT EDIT
|
||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||
-->
|
||
<title>URL’lerin Dosya Sistemi ile Eşleştirilmesi - Apache HTTP Sunucusu Sürüm 2.4</title>
|
||
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
|
||
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
|
||
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
|
||
<script src="./style/scripts/prettify.min.js" type="text/javascript">
|
||
</script>
|
||
|
||
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
|
||
<body id="manual-page"><div id="page-header">
|
||
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p>
|
||
<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
|
||
<img alt="" src="./images/feather.png" /></div>
|
||
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
|
||
<div id="path">
|
||
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.4</a></div><div id="page-content"><div id="preamble"><h1>URL’lerin Dosya Sistemi ile Eşleştirilmesi</h1>
|
||
<div class="toplang">
|
||
<p><span>Mevcut Diller: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
|
||
<a href="./fr/urlmapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
|
||
<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
|
||
<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
|
||
<a href="./tr/urlmapping.html" title="Türkçe"> tr </a></p>
|
||
</div>
|
||
|
||
<p>Bu belgede, bir istekte belirtilen URL’nin sunulacak dosyanın dosya
|
||
sistemindeki yerini bulmak için Apache HTTP Sunucusu tarafından nasıl
|
||
kullanıldığı açıklanmaktadır.</p>
|
||
</div>
|
||
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#related">İlgili Modüller ve Yönergeler</a></li>
|
||
<li><img alt="" src="./images/down.gif" /> <a href="#documentroot"><code>DocumentRoot</code></a></li>
|
||
<li><img alt="" src="./images/down.gif" /> <a href="#outside">Belge Kök Dizini Dışındaki Dosyalar</a></li>
|
||
<li><img alt="" src="./images/down.gif" /> <a href="#user">Kullanıcı Dizinleri</a></li>
|
||
<li><img alt="" src="./images/down.gif" /> <a href="#redirect">URL Yönlendirme</a></li>
|
||
<li><img alt="" src="./images/down.gif" /> <a href="#proxy">Karşı Vekil</a></li>
|
||
<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">Yeniden Yazma Motoru</a></li>
|
||
<li><img alt="" src="./images/down.gif" /> <a href="#notfound">Dosya orada yok</a></li>
|
||
<li><img alt="" src="./images/down.gif" /> <a href="#other">Diğer URL Eşleme Modülleri</a></li>
|
||
</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="#comments_section">Yorumlar</a></li></ul></div>
|
||
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
||
<div class="section">
|
||
<h2><a name="related" id="related">İlgili Modüller ve Yönergeler</a></h2>
|
||
|
||
<table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code></li><li><code class="module"><a href="./mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code></li><li><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code></li><li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></li><li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code></li><li><code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code></li><li><code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_speling.html#checkspelling">CheckSpelling</a></code></li><li><code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code></li><li><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code></li><li><code class="directive"><a href="./mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code></li></ul></td></tr></table>
|
||
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
||
<div class="section">
|
||
<h2><a name="documentroot" id="documentroot"><code>DocumentRoot</code></a></h2>
|
||
|
||
<p>Yapılan bir isteğe hangi dosyanın sunulacağına karar verirken
|
||
httpd’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
|
||
<code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> yönergesi ile
|
||
belirtilen dizinin sonuna eklemektir. Bu nedenle, <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> altındaki dizinler ve dosyalar
|
||
sitenin dışardan görünen temel belge ağacını oluştururlar.</p>
|
||
|
||
<p>Örneğin, <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> yönergesine
|
||
<code>/var/http/html</code> atanmış olsun.
|
||
<code>http://example.com/balıklar/zargana.html</code> şeklindeki bir
|
||
istek için istemciye <code>/var/http/html/balıklar/zargana.html</code>
|
||
dosyası sunulur.</p>
|
||
|
||
<p>Bir dizin istenirse (<code>/</code> ile biten bir yol belirtilmesi
|
||
durumu), sunulacak dosya <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> yönergesinde belirtilen dosya olacaktır.
|
||
Örneğin, <code>DocumentRoot</code> yukarıdaki gibi belirtimiş ve siz de
|
||
şunu belirtmişseniz:</p>
|
||
|
||
<div class="example"><p><code>DirectoryIndex index.html index.php</code></p></div>
|
||
|
||
<p><code>http://www.example.com/fish/</code> isteği, httpd'nin
|
||
<code>/var/www/html/fish/index.html</code> dosyasını sunmaya, bu dosya
|
||
bulunmuyorsa <code>/var/www/html/fish/index.php</code> dosyasını sunmaya
|
||
çalışmasına sebep olacaktır.</p>
|
||
|
||
<p>Bu dosyaların ikisi de bulunmuyorsa sonraki adım,
|
||
<code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code> yüklü ve uygun şekilde yapılandırılmışsa
|
||
bir dizin içeriği dosyası sağlamaya çalışmak olacaktır.</p>
|
||
|
||
<p>httpd 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 <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> belirtilebileceği gibi sunulacak içeriğin
|
||
istekte bulunulan IP adresi veya konak ismine dayanarak devingen olarak
|
||
saptanmasını sağlayabilen <code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code> modülüyle
|
||
gelen yönergeler de kullanılabilir.</p>
|
||
|
||
<p><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> 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>
|
||
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
||
<div class="section">
|
||
<h2><a name="outside" id="outside">Belge Kök Dizini Dışındaki Dosyalar</a></h2>
|
||
|
||
<p>Bazen dosya sisteminde doğrudan <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> altında bulunmayan dosyalara da erişim izni
|
||
vermek gerekir. httpd’de bunu sağlamanın çeşitli yolları vardır. Unix
|
||
sistemlerinde sembolik bağlar sayesinde dosya sisteminin farklı
|
||
yerlerindeki dosyaları ve dizinleri <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> altındaymış gibi göstermek mümkündür.
|
||
<code class="directive"><a href="./mod/core.html#options">Options</a></code> yönergesine değer olarak
|
||
<code>FollowSymLinks</code> veya <code>SymLinksIfOwnerMatch</code>
|
||
atanmadıkça httpd 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 <code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code>
|
||
yönergesi de kullanılabilir. Örneğin,</p>
|
||
|
||
<pre class="prettyprint lang-config">Alias "/belgeler" "/var/http"</pre>
|
||
|
||
|
||
<p>yapılandırması ile
|
||
<code>http://example.com/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 <a class="glossarylink" href="./glossary.html#cgi" title="sözlüğe bakınız">CGI</a> betiği olarak imlemesi dışında <code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code> yönergesi de aynı şekilde
|
||
çalışır.</p>
|
||
|
||
<p>Biraz daha fazla esnekliğin gerektiği durumlarda <a class="glossarylink" href="./glossary.html#regex" title="sözlüğe bakınız">düzenli ifadelere</a> dayalı eşleşmeler sağlamak
|
||
üzere <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code> ve <code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code> yönergelerinin gücünden
|
||
yararlanılabilir. Örneğin,</p>
|
||
|
||
<pre class="prettyprint lang-config">ScriptAliasMatch "^/~([a-zA-Z0-9]+)/cgi-bin/(.+)" "/home/$1/cgi-bin/$2"</pre>
|
||
|
||
|
||
<p>satırı sayesinde <code>http://example.com/~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>
|
||
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
||
<div class="section">
|
||
<h2><a name="user" id="user">Kullanıcı Dizinleri</a></h2>
|
||
|
||
<p>Geleneksel olarak Unix sistemlerinde belli bir kullanıcının (örn,
|
||
<em>birisi</em>) ev dizinine <code>~birisi/</code> şeklinde atıfta
|
||
bulunulabilir. <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> 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>
|
||
|
||
<div class="example"><p><code>http://example.com/~birisi/dosya.html</code></p></div>
|
||
|
||
<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 <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> 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 <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> tarafından
|
||
desteklenmemektedir. Ancak, kullanıcı dizinleri düzgün şekilde
|
||
yapılandırılmışsa istenen etki <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code> yönergesi ile sağlanabilir.
|
||
Örneğin, <code>http://example.com/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>
|
||
|
||
<pre class="prettyprint lang-config">AliasMatch "^/sayfalar/([a-zA-Z0-9]+)(/(.*))?$" "/home/$1/public_html/$3"</pre>
|
||
|
||
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
||
<div class="section">
|
||
<h2><a name="redirect" id="redirect">URL Yönlendirme</a></h2>
|
||
|
||
<p>Yukarıdaki bölümlerde açıklanan yapılandırma yönergeleri httpd’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 <code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code> yönergesi
|
||
ile sağlanır. Örneğin, <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
|
||
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>
|
||
|
||
<pre class="prettyprint lang-config">Redirect permanent "/foo/" "http://example.com/bar/"</pre>
|
||
|
||
|
||
<p>Bu atama sayesinde <code>/foo/</code> ile başlayan URL yolları
|
||
<code>example.com</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>httpd ayrıca, yeniden yazma ile ilgili daha karmaşık sorunlara çözüm
|
||
olarak <code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> 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>
|
||
|
||
<pre class="prettyprint lang-config">RedirectMatch permanent "^/$" "http://example.com/ilksayfa.html"</pre>
|
||
|
||
|
||
<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>
|
||
|
||
<pre class="prettyprint lang-config">RedirectMatch temp ".*" "http://mesela.example.com/ilksayfa.html"</pre>
|
||
|
||
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
||
<div class="section">
|
||
<h2><a name="proxy" id="proxy">Karşı Vekil</a></h2>
|
||
|
||
<p>httpd 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.example.com</code>
|
||
üzerindeki <code>/bar/</code> dizininden alıp istemciye yerel sunucudan
|
||
geliyormuş gibi sunmaktadır:</p>
|
||
|
||
<pre class="prettyprint lang-config">ProxyPass "/foo/" "http://dahili.example.com/bar/"
|
||
ProxyPassReverse "/foo/" "http://dahili.example.com/bar/"
|
||
ProxyPassReverseCookieDomain dahili.example.com harici.example.com
|
||
ProxyPassReverseCookiePath "/foo/" "/bar/"</pre>
|
||
|
||
|
||
<p><code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> sunucuyu uygun
|
||
belgeleri alması için yapılandırırken <code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> yönergesi <code>dahili.example.com</code>
|
||
sunucusundan kaynaklanan yönlendirmeleri yeniden yazar, böylece bunların
|
||
yerel sunucudaki yerleri belirlenmiş olur. Benzer şekilde, <code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code> ve
|
||
<code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code>
|
||
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.example.com</code>’u ismiyle hedef alan mutlak hiperbağlar
|
||
varsa bunlar istemci tarafından vekil sunucudan değil doğrudan
|
||
<code>dahili.example.com</code>’dan istenecektir. Bir sayfanın içindeki bu
|
||
bağları (ve diğer içeriği) <code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code> modülü
|
||
kullanılarak istemciye sunuluyormuşçasına değiştirebilirsiniz.</p>
|
||
|
||
<pre class="prettyprint lang-config">Substitute "s/dahili\.example\.com/harici.example.com/i"</pre>
|
||
|
||
|
||
<p>HTML ve XHTML’de hiperbağları daha bilgece yeniden yazabilen
|
||
<code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code> modülü de kullanılabilir. Yeniden
|
||
yazılması gereken URL eşlemlerini oluşturmanızı sağlar, böylece karmaşık
|
||
vekil senaryoları oluşturulabilir.</p>
|
||
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
||
<div class="section">
|
||
<h2><a name="rewrite" id="rewrite">Yeniden Yazma Motoru</a></h2>
|
||
|
||
<p>Daha güçlü ikameler gerektiğinde <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> 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.
|
||
<code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> 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. <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> modülü
|
||
tarafından sağlanan yeteneklerin ayrıntılı açıklamaları ve bunların
|
||
kullanım örnekleri ayrıntılı olarak <a href="rewrite/">mod_rewrite
|
||
belgeleri</a>nde bulunmaktadır.</p>
|
||
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
||
<div class="section">
|
||
<h2><a name="notfound" id="notfound">Dosya orada yok</a></h2>
|
||
|
||
<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
|
||
httpd <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> (sic) adında bir modülle gelir. Bu
|
||
modül etkin kılındığında htpd, "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, <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code>
|
||
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><code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> 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><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code> modülü sanal URI'leri, onları sunan gerçek
|
||
kaynağa eşlemekte kullanılan <code class="directive"><a href="./mod/mod_dir.html#fallbackresource">FallbackResource</a></code> yönergesini içerir. Bir 'ön denetleyici'
|
||
gerçeklerken <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> modülünün kullanılmasını
|
||
sağlamak için çok kullanışlıdır.</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 <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code> 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>
|
||
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
||
<div class="section">
|
||
<h2><a name="other" id="other">Diğer URL Eşleme Modülleri</a></h2>
|
||
|
||
|
||
|
||
<p>URL eşlemede kullanılabilecek diğer modüller:</p>
|
||
|
||
<ul>
|
||
<li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code> - Bir isteği, özkaynağın MIME türüne veya
|
||
istek yöntemine bakarak bir CGI betiğine eşler.</li>
|
||
|
||
<li><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code> - URL'yi sonlandıran bölü çizgisini
|
||
<code>index.html</code> bir dosyaya eşler.</li>
|
||
|
||
<li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> - Bir isteği, bir HTML belge içindeki
|
||
bir resme yapılan kullanıcı tıklamalarına dayanarak bir URL'ye
|
||
eşler.</li>
|
||
|
||
<li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> - Dil veya içerik sıkıştırması gibi
|
||
kullanıcı tercihlerine dayanarak uygun bir belgeyi seçer.</li>
|
||
</ul>
|
||
|
||
</div></div>
|
||
<div class="bottomlang">
|
||
<p><span>Mevcut Diller: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
|
||
<a href="./fr/urlmapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
|
||
<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
|
||
<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
|
||
<a href="./tr/urlmapping.html" title="Türkçe"> tr </a></p>
|
||
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />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 our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
|
||
<script type="text/javascript"><!--//--><![CDATA[//><!--
|
||
var comments_shortname = 'httpd';
|
||
var comments_identifier = 'http://httpd.apache.org/docs/2.4/urlmapping.html';
|
||
(function(w, d) {
|
||
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
|
||
d.write('<div id="comments_thread"><\/div>');
|
||
var s = d.createElement('script');
|
||
s.type = 'text/javascript';
|
||
s.async = true;
|
||
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
|
||
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
|
||
}
|
||
else {
|
||
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
|
||
}
|
||
})(window, document);
|
||
//--><!]]></script></div><div id="footer">
|
||
<p class="apache">Copyright 2024 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
|
||
<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
|
||
if (typeof(prettyPrint) !== 'undefined') {
|
||
prettyPrint();
|
||
}
|
||
//--><!]]></script>
|
||
</body></html> |