1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head><!-- 4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 5 This file is generated from xml source: DO NOT EDIT 6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7 --> 8<title>Sanal Konak Örnekleri - Apache HTTP Sunucusu</title> 9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> 10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> 11<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" /> 12<script src="/style/scripts/prettify.min.js" type="text/javascript"> 13</script> 14 15<link href="/images/favicon.ico" rel="shortcut icon" /></head> 16<body id="manual-page"><div id="page-header"> 17<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> 18<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> 19<img alt="" src="/images/feather.gif" /></div> 20<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div> 21<div id="path"> 22<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> > <a href="./">Sanal Konaklar</a></div><div id="page-content"><div id="preamble"><h1>Sanal Konak Örnekleri</h1> 23<div class="toplang"> 24<p><span>Mevcut Diller: </span><a href="/en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> | 25<a href="/fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 26<a href="/ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 27<a href="/ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 28<a href="/tr/vhosts/examples.html" title="Türkçe"> tr </a></p> 29</div> 30 31 32 <p>Bu belgede <a href="index.html">sanal konaklarla</a> ile ilgili olarak 33 karşılaşılması olası tüm senaryolara yer verilmeye çalışılmıştır. 34 Buradaki senaryolar, tek bir sunucu üzerinde <a href="name- based.html">isme dayalı</a> veya <a href="ip-based.html">IP’ye dayalı</a> 35 sanal konaklar aracılığıyla çok sayıda sitenin sunumu ile ilgilidir. 36 </p> 37 38</div> 39<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#purename">Tek bir IP ile çok sayıda isme dayalı site</a></li> 40<li><img alt="" src="/images/down.gif" /> <a href="#twoips">IP adresleri farklı çok sayıda isme dayalı site</a></li> 41<li><img alt="" src="/images/down.gif" /> <a href="#intraextra">Aynı içeriği farklı IP adresleriyle sunmak 42 (örn., dahili ve harici ağlara)</a></li> 43<li><img alt="" src="/images/down.gif" /> <a href="#port">Farklı portlarla farklı siteler</a></li> 44<li><img alt="" src="/images/down.gif" /> <a href="#ip">IP’ye dayalı sanal konaklar</a></li> 45<li><img alt="" src="/images/down.gif" /> <a href="#ipport">Hem IP’ye hem de porta dayalı sanal konaklar</a></li> 46<li><img alt="" src="/images/down.gif" /> <a href="#mixed">Hem isme hem de IP‘ye dayalı sanal konaklar</a></li> 47<li><img alt="" src="/images/down.gif" /> <a href="#proxy"><code>Virtualhost</code> ve 48 <code>mod_proxy</code>’nin birlikte kullanımı</a></li> 49<li><img alt="" src="/images/down.gif" /> <a href="#default"><code>_default_</code> sanal konakları</a></li> 50<li><img alt="" src="/images/down.gif" /> <a href="#migrate">Bir isme dayalı sanal konağı bir IP’ye dayalı 51 sanal konakla yansılamak</a></li> 52<li><img alt="" src="/images/down.gif" /> <a href="#serverpath"><code>ServerPath</code> yönergesinin kullanımı</a></li> 53</ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div> 54<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 55<div class="section"> 56<h2><a name="purename" id="purename">Tek bir IP ile çok sayıda isme dayalı site</a></h2> 57 58 59 <p>Bu örnekte, makinenizin tek bir IP adresine sahip olduğunu ve bu 60 makineye <code>example.com</code> ve <code>example.org</code> şeklinde 61 (DNS A kayıtları sayesinde) farklı isimlerle erişilebildiğini 62 varsayalım.</p> 63 64 <div class="note"><h3>Bilginize</h3><p>Apache sunucusu üzerinde sanal konakları 65 yapılandırmakla bu konak isimleri için sihirli bir şekilde DNS 66 kayıtlarının da oluşturulmasını sağlamış olmazsınız. Bu isimler için 67 ilgili DNS kayıtlarında sizin IP adresinize çözümlenen A kayıtlarının 68 olması gerekir, yoksa sitenize kimse erişemez. Sitelere erişimi yerel 69 olarak denemek isterseniz, bu girdileri <code>hosts</code> dosyanıza 70 yazabilirsiniz. Fakat bu sadece sizin makinenizde çalışır. Yerel 71 ağınızdaki her makinenin <code>hosts</code> dosyasına bu girdileri 72 yazarak yerel ağdan erişimi bu yolla sağlayabilirsiniz ama dış ağdan 73 gelecek ziyaretçileriniz için DNS kayıtlarınızın olması şarttır.</p> 74 </div> 75 76 <pre class="prettyprint lang-config"># Apache’nin 80. portu dinlediğinden emin olalım 77Listen 80 78<VirtualHost *:80> 79 DocumentRoot /siteler/ecom 80 ServerName example.com 81 82 # Diğer yönergeler, burada ... 83</VirtualHost> 84 85<VirtualHost *:80> 86 DocumentRoot /siteler/eorg 87 ServerName example.org 88 89 # Diğer yönergeler, burada ... 90</VirtualHost></pre> 91 92 93 <p>Yıldız imleri tüm adreslerle eşleşmeyi sağladığından ana sunucu 94 (yapılandırma dosyası genelindeki yapılandırma - sunucu geneli) 95 erişilebilir olmayacaktır. Yapılandırma 96 dosyasındaki <code>ServerName example.com</code> yönergeli konak, ilk 97 sanal konak olduğundan en yüksek önceliğe sahiptir ve 98 <cite>öntanımlı</cite> veya <cite>baskın</cite> site olarak davranır. 99 Yani, hiçbir <code>ServerName</code> yönergesi ile eşleşmeyen bir istek 100 alındığında bu istek ilk <code>VirtualHost</code> yapılandırması ile 101 karşılanır.</p> 102 103 <div class="note"><h3>Bilginize</h3> 104 <p>IP adresi ve porta dayalı ayrımı umursamıyorsanız, <code>*</code> 105 yerine kendi IP adresinizi yazabilirsiniz.</p> 106 107 <pre class="prettyprint lang-config">NameVirtualHost 192.168.1.22 108 109<VirtualHost 192.168.1.22> 110 # vs. ... 111</VirtualHost></pre> 112 113 114 <p>Bununla birlikte, IP adresinin önceden kestirilebilir olmadığı 115 sistemlerde, örneğin, hizmet sağlayıcınıza çevirmeli ağ ile bağlanıyor 116 ve onun rasgele atadığı bir IP adresi için bir devingen DNS çözümü 117 kullanıyorsanız, IP adresi değil de <code>*</code> kullanmak daha çok 118 işinize yarayacaktır. Yıldız imi her IP adresi ile eşleşeceğinden IP 119 adresiniz değişse bile bu yapılandırmayı değiştirmeden 120 kullanabilirsiniz.</p> 121 </div> 122 123 <p>Yukarıdaki yapılandırmayı hemen hemen tüm isme dayalı sanal konaklar 124 için kullanabilirsiniz. Bu yapılandırmanın çalışmayacağı tek durum, 125 farklı içerikleri farklı IP adreslerinden sunma gereğiyle 126 karşılaşmaktır.</p> 127 128 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 129<div class="section"> 130<h2><a name="twoips" id="twoips">IP adresleri farklı çok sayıda isme dayalı site</a></h2> 131 132 133 <div class="note"><h3>Bilginize</h3> 134 <p>Burada açıklanan teknikler istendiği kadar çok IP adresine 135 genişletilebilir.</p> 136 </div> 137 138 <p>Sunucunun iki IP adresi olsun. Birinden "ana sunucu" 139 (<code>192.168.1.2</code>) diğerinden <code>example.com</code> 140 <code>192.168.2.2</code> hizmet versin. Bu arada başka sanal konakları 141 da sunabilelim istiyoruz.</p> 142 143 <pre class="prettyprint lang-config">Listen 80 144 145# Bu, 192.168.1.2 adresindeki "ana sunucu" olsun 146ServerName sunucu.example.com 147DocumentRoot /siteler/anasunucu 148 149<VirtualHost 192.168.1.20> 150 DocumentRoot /siteler/ecom 151 ServerName example.com 152 153 # Diğer yönergeler, burada ... 154</VirtualHost> 155 156<VirtualHost 192.168.1.20> 157 DocumentRoot /siteler/eorg 158 ServerName example.org 159 160 # Diğer yönergeler, burada ... 161</VirtualHost></pre> 162 163 164 <p><code>192.168.1.20</code> adresinden gelmeyen tüm isteklere ana sunucu 165 (<code>sunucu.example.com</code>), <code>192.168.1.20</code> adresinden 166 gelen sunucu ismi belirtmeyenler ile <code>Host:</code> başlığı 167 belirtmeyenlere ise <code>example.com</code> hizmet verecektir.</p> 168 169 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 170<div class="section"> 171<h2><a name="intraextra" id="intraextra">Aynı içeriği farklı IP adresleriyle sunmak 172 (örn., dahili ve harici ağlara)</a></h2> 173 174 <p>Sunucu makine iki IP adresine sahip olsun. Biri iç ağa 175 (<code>192.168.1.1</code>) diğeri dış ağa (<code>172.20.30.40</code>) 176 bakıyor olsun. <code>sunucu.example.com</code> ismi dış ağda dış ağa 177 bakan IP’ye, iç ağda ise iç ağa bakan IP’ye çözümleniyor olsun.</p> 178 179 <p>Bu durumda, sunucu hem iç hem de dış ağdan gelen isteklere aynı içerik, 180 dolayısıyla aynı <code>VirtualHost</code> bölümü ile hizmet 181 verebilir.</p> 182 183 <pre class="prettyprint lang-config"><VirtualHost 192.168.1.1 172.20.30.40> 184 DocumentRoot /siteler/sunucu 185 ServerName sunucu.example.com 186 ServerAlias sunucu 187</VirtualHost></pre> 188 189 190 <p>Artık, hem iç hem de dış ağdan gelen isteklere aynı 191 <code>VirtualHost</code> bölümünden hizmet sunulacaktır.</p> 192 193 <div class="note"><h3>Bilginize:</h3> 194 <p>İç ağdan istek yapan biri, tam nitelenmiş konak ismi 195 <code>sunucu.example.com</code> yerine makine ismini 196 (<code>sunucu</code>) kullanabilir (<code>ServerAlias sunucu</code> 197 satırına dikkat).</p> 198 199 <p>Ayrıca, yukarıdaki gibi iki ayrı IP adresi belirtmek yerine sadece 200 <code>*</code> belirtmekle sunucunun tüm IP adreslerine yine aynı 201 içerikle yanıt vereceğine dikkat ediniz.</p> 202 </div> 203 204 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 205<div class="section"> 206<h2><a name="port" id="port">Farklı portlarla farklı siteler</a></h2> 207 208 <p>Aynı IP adresine sahip çok sayıda konak ismine sahip olduğunuzu ve 209 bunların bazılarının farklı portları kullanmasını istediğinizi 210 varsayalım. Aşağıdaki örnekte, isim eşleşmesinin, en iyi eşleşen IP 211 adresi ve port çifti saptandıktan sonra yer alması gösterilmiştir. </p> 212 213 <pre class="prettyprint lang-config">Listen 80 214Listen 8080 215 216<VirtualHost 172.20.30.40:80> 217 ServerName example.com 218 DocumentRoot /siteler/ecom-80 219</VirtualHost> 220 221<VirtualHost 172.20.30.40:8080> 222 ServerName example.com 223 DocumentRoot /siteler/ecom-8080 224</VirtualHost> 225 226<VirtualHost 172.20.30.40:80> 227 ServerName example.org 228 DocumentRoot /siteler/eorg-80 229</VirtualHost> 230 231<VirtualHost 172.20.30.40:8080> 232 ServerName example.org 233 DocumentRoot /siteler/eorg-8080 234</VirtualHost></pre> 235 236 237 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 238<div class="section"> 239<h2><a name="ip" id="ip">IP’ye dayalı sanal konaklar</a></h2> 240 241 <p>Sunucu makinenin, biri <code>example.com</code> adından çözümlenen 242 <code>172.20.30.40</code>, diğeri <code>example.org</code> adından 243 çözümlenen <code>172.20.30.50</code> diye iki IP adresi olsun.</p> 244 245 <pre class="prettyprint lang-config">Listen 80 246 247<VirtualHost 172.20.30.40> 248 DocumentRoot /siteler/ecom 249 ServerName example.com 250</VirtualHost> 251 252<VirtualHost 172.20.30.50> 253 DocumentRoot /siteler/eorg 254 ServerName example.org 255</VirtualHost></pre> 256 257 258 <p><code><VirtualHost></code> yönergelerinde belirtilmeyen 259 adreslerle yapılan isteklere (örneğin, <code>localhost</code>) sunucu 260 genelindeki yapılandırma ile ana sunucu yanıt verecektir.</p> 261 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 262<div class="section"> 263<h2><a name="ipport" id="ipport">Hem IP’ye hem de porta dayalı sanal konaklar</a></h2> 264 265 266 <p>Sunucu makinenin, biri <code>example.com</code> adından çözümlenen 267 <code>172.20.30.40</code>, diğeri <code>example.org</code> adından 268 çözümlenen <code>172.20.30.50</code> diye iki IP adresi olsun ve iki 269 konak da hem 80 hem de 8080 portlarında çalışsınlar istiyoruz.</p> 270 271 <pre class="prettyprint lang-config">Listen 172.20.30.40:80 272Listen 172.20.30.40:8080 273Listen 172.20.30.50:80 274Listen 172.20.30.50:8080 275 276<VirtualHost 172.20.30.40:80> 277 DocumentRoot /siteler/ecom-80 278 ServerName example.com 279</VirtualHost> 280 281<VirtualHost 172.20.30.40:8080> 282 DocumentRoot /siteler/ecom-8080 283 ServerName example.com 284</VirtualHost> 285 286<VirtualHost 172.20.30.50:80> 287 DocumentRoot /siteler/eorg-80 288 ServerName example.org 289</VirtualHost> 290 291<VirtualHost 172.20.30.50:8080> 292 DocumentRoot /siteler/eorg-8080 293 ServerName example.org 294</VirtualHost></pre> 295 296 297 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 298<div class="section"> 299<h2><a name="mixed" id="mixed">Hem isme hem de IP‘ye dayalı sanal konaklar</a></h2> 300 301 302 <p>Bir <code>VirtualHost</code> yönergesinde belirtilen bir IP adresi başka 303 bir sanal konakta görünmüyorsa bu sankon kesinlikle IP'ye dayalı bir 304 sanal konaktır.</p> 305 306 <pre class="prettyprint lang-config">Listen 80 307 308<VirtualHost 172.20.30.40> 309 DocumentRoot /siteler/ecom 310 ServerName example.com 311</VirtualHost> 312 313<VirtualHost 172.20.30.40> 314 DocumentRoot /siteler/eorg 315 ServerName example.org 316</VirtualHost> 317 318<VirtualHost 172.20.30.40> 319 DocumentRoot /siteler/enet 320 ServerName example.net 321</VirtualHost> 322 323# IP'ye dayalı 324<VirtualHost 172.20.30.50> 325 DocumentRoot /siteler/eedu 326 ServerName example.edu 327</VirtualHost> 328 329<VirtualHost 172.20.30.60> 330 DocumentRoot /siteler/egov 331 ServerName example.gov 332</VirtualHost></pre> 333 334 335 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 336<div class="section"> 337<h2><a name="proxy" id="proxy"><code>Virtualhost</code> ve 338 <code>mod_proxy</code>’nin birlikte kullanımı</a></h2> 339 340 <p>Bu örnekte bir arabirimi dışarıya bakan bir makinede, başka bir 341 makinede çalışan bir sunucuya sanal konak olarak, bir vekil sunucu 342 çalıştırmak istediğimizi varsayıyoruz. <code>192.168.111.2</code> IP 343 adresli bir makinede aynı isimde bir sanal konak yapılandırılmış olsun. 344 Çok sayıda konak ismi için vekil olarak tek bir makine kullandığımızdan 345 ve konak isminin de aktarılmasını arzuladığımızdan <code class="directive"><a href="/mod/mod_proxy.html#proxypreservehost">ProxyPreserveHost 346 On</a></code> yönergesini kullandık.</p> 347 348 <pre class="prettyprint lang-config"><VirtualHost *:*> 349 ProxyPreserveHost On 350 ProxyPass / http://192.168.111.2/ 351 ProxyPassReverse / http://192.168.111.2/ 352 ServerName konak.example.com 353</VirtualHost></pre> 354 355 356 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 357<div class="section"> 358<h2><a name="default" id="default"><code>_default_</code> sanal konakları</a></h2> 359 360 <h3><a name="defaultallports" id="defaultallports">Tüm portlar için <code>_default_</code></a></h3> 361 362 363 <p>Bir IP adresi ve port belirtilmeyen veya hiçbir sanal konağın hiçbir 364 adresi/portu ile eşleşmeyen istekleri yakalamak istersek...</p> 365 366 <pre class="prettyprint lang-config"><VirtualHost _default_:*> 367 DocumentRoot /siteler/default 368</VirtualHost></pre> 369 370 371 <p>Bütün portlarla eşleşen böyle bir öntanımlı sanal konağın kullanımı 372 hiçbir isteğin ana sunucuya gitmemesi sonucunu doğurur.</p> 373 374 <p>Bir öntanımlı sanal konak, asla, isme dayalı sanal konaklar için 375 kullanılmış bir adrese/porta gönderilmiş bir isteğe hizmet sunmaz. Eğer 376 istek bilinmeyen bir <code>Host:</code> başlığına sahipse veya hiç 377 <code>Host:</code> başlığı içermiyorsa isteğe daima ilk (yapılandırma 378 dosyasındaki ilk) isme dayalı sanal konak hizmet sunar.</p> 379 380 <p>Her isteği tek bir bilgilendirme sayfasına (veya betiğe) yönlendirmek 381 isterseniz <code class="directive"><a href="/mod/mod_alias.html#aliasmatch">AliasMatch</a></code> veya 382 <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesini 383 kullanabilirsiniz.</p> 384 385 386 <h3><a name="defaultdifferentports" id="defaultdifferentports">Farklı portlardan <code>_default_</code></a></h3> 387 388 389 <p>Önceki yapılandırmaya ek olarak 80. portta ayrı bir 390 <code>_default_</code> sanal konağı kullanmak istersek...</p> 391 392 <pre class="prettyprint lang-config"><VirtualHost _default_:80> 393 DocumentRoot /siteler/default80 394 # ... 395</VirtualHost> 396 397<VirtualHost _default_:*> 398 DocumentRoot /siteler/default 399 # ... 400</VirtualHost></pre> 401 402 403 <p>80. porttan hizmet sunan <code>_default_</code> sanal konağı IP adresi 404 belirtilmeyen tüm istekleri yakalar, bunu yapabilmesi için yapılandırma 405 dosyasında tüm portlara hizmet sunan benzerinden önce yer almalıdır. Bu 406 durumda ana sunucu hiçbir isteğe yanıt vermeyecektir.</p> 407 408 409 <h3><a name="defaultoneport" id="defaultoneport">Tek portluk <code>_default_</code></a></h3> 410 411 412 <p><code>_default_</code> sanal konağının sadece 80. porttan hizmet 413 sunmasını istersek...</p> 414 415 <pre class="prettyprint lang-config"><VirtualHost _default_:80> 416 DocumentRoot /siteler/default 417 ... 418</VirtualHost></pre> 419 420 421 <p>80. porttan gelen IP adresi belirtilmemiş isteklere 422 <code>_default_</code> sanal konağı, diğer portlardan gelen adres 423 belirtilmemiş isteklere ise ana sunucu hizmet verecektir.</p> 424 425 <p>Bir sanal konak bildiriminde <code>*</code> kullanımı 426 <code>_default_</code> kullanımından daha yüksek öncelik sağlar.</p> 427 428 429 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 430<div class="section"> 431<h2><a name="migrate" id="migrate">Bir isme dayalı sanal konağı bir IP’ye dayalı 432 sanal konakla yansılamak</a></h2> 433 434 <p>İsme dayalı sanal konak örneklerinin <a href="#twoips">2. sinde</a> adı 435 geçen <code>example.org</code> bu örnekte kendi IP adresinden hizmet 436 veriyor olsun. İsme dayalı sanal konağı eski IP adresiyle kaydetmiş 437 vekiller ve isim sunucularından kaynaklanacak olası sorunlardan kaçınmak 438 için yansılama sırasında sanal konağı hem eski hem de yeni IP adresiyle 439 sunmamız lazım.</p> 440 441 <p>Çözüm kolay, çünkü yapacağımız sadece <code>VirtualHost</code> 442 yönergesine yeni IP adresini (<code>192.168.1.2</code>) eklemek 443 olacak.</p> 444 445 <pre class="prettyprint lang-config">Listen 80 446ServerName example.com 447DocumentRoot /siteler/ecom 448 449<VirtualHost 192.168.1.20 192.168.1.2> 450 DocumentRoot /siteler/eorg 451 ServerName example.org 452 # ... 453</VirtualHost> 454 455<VirtualHost 192.168.1.20> 456 DocumentRoot /siteler/enet 457 ServerName example.enet 458 ServerAlias *.example.enet 459 # ... 460</VirtualHost></pre> 461 462 463 <p>Böylece sanal konağa hem yeni (bir IP’ye dayalı sanal konak olarak) 464 hem de eski adresinden (bir isme dayalı sanal konak olarak) 465 erişilebilecektir.</p> 466 467 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 468<div class="section"> 469<h2><a name="serverpath" id="serverpath"><code>ServerPath</code> yönergesinin kullanımı</a></h2> 470 471 472 <p>İsme dayalı iki sanal konağı olan bir sunucumuz olsun. Doğru sanal 473 konağa erişebilmek için istemcinin doğru <code>Host:</code> başlığı 474 göndermesi gerekir. Eski HTTP/1.0 istemcileri böyle bir başlık 475 göndermedikleri için Apache istemcinin hangi sanal konağa erişmek 476 istediğini bilemez (ve isteğe ilk sanal konaktan hizmet sunar). Daha iyi 477 bir geriye uyumluluk sağlamak için isme dayalı sanal konağa bir önek 478 bağlantısı içeren bir bilgilendirme sayfası sunmak üzere yeni bir sanal 479 konak oluşturabiliriz.</p> 480 481 <pre class="prettyprint lang-config"><VirtualHost 172.20.30.40> 482 # ilk sanal konak 483 DocumentRoot /siteler/baska 484 RewriteEngine On 485 RewriteRule . /siteler/baska/index.html 486 # ... 487</VirtualHost> 488 489<VirtualHost 172.20.30.40> 490DocumentRoot /siteler/baska/bir 491 ServerName bir.baska.tld 492 ServerPath /bir/ 493 RewriteEngine On 494 RewriteRule ^(/bir/.*) /siteler/baska$1 495 # ... 496</VirtualHost> 497 498<VirtualHost 172.20.30.40> 499 DocumentRoot /siteler/baska/iki 500 ServerName iki.baska.tld 501 ServerPath /iki/ 502 RewriteEngine On 503 RewriteRule ^(/iki/.*) /siteler/baska$1 504 # ... 505</VirtualHost></pre> 506 507 508 <p><code class="directive"><a href="/mod/core.html#serverpath">ServerPath</a></code> yönergesinden dolayı 509 <code>http://bir.baska.tld/bir/</code> şeklinde yapılan isteklere 510 <em>daima</em> “bir” sanal konağı hizmet sunacaktır.</p> 511 512 <p><code>http://bir.baska.tld/</code> şeklinde yapılan isteklere ise 513 istemcinin doğru <code>Host:</code> başlığı göndermesi şartıyla 514 “bir” sanal konağı hizmet sunacaktır. İstemci, bir 515 <code>Host:</code> başlığı göndermediği takdirde ilk konaktan bir 516 bilgilendirme sayfası alacaktır.</p> 517 518 <p>Yalnız buradaki bir tuhaflığa dikkat edin: Eğer istemci bir 519 <code>Host:</code> başlığı göndermeden 520 <code>http://iki.baska.tld/bir/</code> şeklinde bir istek yaparsa bu 521 isteğe de “bir” sanal konağı hizmet sunacaktır.</p> 522 523 <p><code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesi, bir 524 istemcinin, bir URL öneki belirtsin ya da belirtmesin doğru 525 <code>Host:</code> başlığı gönderdiğinden emin olmak için 526 kullanılmıştır.</p> 527 528 </div></div> 529<div class="bottomlang"> 530<p><span>Mevcut Diller: </span><a href="/en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> | 531<a href="/fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 532<a href="/ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 533<a href="/ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 534<a href="/tr/vhosts/examples.html" title="Türkçe"> tr </a></p> 535</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> 536<script type="text/javascript"><!--//--><![CDATA[//><!-- 537var comments_shortname = 'httpd'; 538var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/examples.html'; 539(function(w, d) { 540 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 541 d.write('<div id="comments_thread"><\/div>'); 542 var s = d.createElement('script'); 543 s.type = 'text/javascript'; 544 s.async = true; 545 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 546 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 547 } 548 else { 549 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 550 } 551})(window, document); 552//--><!]]></script></div><div id="footer"> 553<p class="apache">Copyright 2014 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> 554<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[//><!-- 555if (typeof(prettyPrint) !== 'undefined') { 556 prettyPrint(); 557} 558//--><!]]></script> 559</body></html>