Server IP : 103.119.228.120 / Your IP : 3.139.234.124 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/local/apache.backup/manual/ |
Upload File : |
<?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">Yorum</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">Yorum</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 again 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 Freenode, or sent to our <a href="http://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 2018 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>