| <!DOCTYPE html SYSTEM "about:legacy-compat"> |
| <html lang="tr"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta content="width=device-width, initial-scale=1" name="viewport"> |
| <!-- |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| This file is generated from xml source: DO NOT EDIT |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| --> |
| <title>Apache mod_rewrite'a Giriş - Apache HTTP Sunucusu Sürüm 2.5</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"> |
| </script> |
| |
| <link href="../images/favicon.png" rel="shortcut icon"></head> |
| <body id="manual-page"><div id="page-header"> |
| <p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/quickreference.html">Yönergeler</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Report a bug</a></p> |
| <p class="apache">Apache HTTP Sunucusu Sürüm 2.5</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="https://www.apache.org/">Apache</a> > <a href="https://httpd.apache.org/">HTTP Sunucusu</a> > <a href="https://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite'a Giriş</h1> |
| <button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button> |
| <div class="toplang"> |
| <p><span>Mevcut Diller: </span><a href="../de/rewrite/intro.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | |
| <a href="../en/rewrite/intro.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../es/rewrite/intro.html" hreflang="es" rel="alternate" title="Español"> es </a> | |
| <a href="../fr/rewrite/intro.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | |
| <a href="../ja/rewrite/intro.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | |
| <a href="../ko/rewrite/intro.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | |
| <a href="../tr/rewrite/intro.html" title="Türkçe"> tr </a> | |
| <a href="../zh-cn/rewrite/intro.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> |
| </div> |
| <div class="outofdate">Bu çeviri güncel olmayabilir. Son değişiklikler için İngilizce sürüm geçerlidir.</div> |
| |
| <p>Bu belge, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> |
| <a href="../mod/mod_rewrite.html">başvuru belgelerini</a> tamamlar. |
| <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> kullanımı için gerekli temel kavramları |
| açıklar. Diğer belgeler daha ayrıntılıdır, ancak bu belge |
| başlangıç yapmak isteyenlere yardımcı olmalıdır. |
| </p> |
| </div> |
| <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif"> <a href="#introduction">Giriş</a></li> |
| <li><img alt="" src="../images/down.gif"> <a href="#regex">Düzenli İfadeler</a></li> |
| <li><img alt="" src="../images/down.gif"> <a href="#rewriterule">RewriteRule Temelleri</a></li> |
| <li><img alt="" src="../images/down.gif"> <a href="#flags">Yeniden Yazma Bayrakları</a></li> |
| <li><img alt="" src="../images/down.gif"> <a href="#rewritecond">Yeniden Yazma Koşulları</a></li> |
| <li><img alt="" src="../images/down.gif"> <a href="#rewritemap">Yeniden yazma eşlemleri</a></li> |
| <li><img alt="" src="../images/down.gif"> <a href="#htaccess">.htaccess dosyaları</a></li> |
| </ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Modül belgeleri</a></li><li><a href="remapping.html">Yeniden yönlendirme ve yeniden eşleme</a></li><li><a href="access.html">Erişim denetimi</a></li><li><a href="vhosts.html">Sanal konaklar</a></li><li><a href="proxy.html">Vekil kullanımı</a></li><li><a href="rewritemap.html">RewriteMap Kullanımı</a></li><li><a href="advanced.html">İleri teknikler</a></li><li><a href="avoid.html">mod_rewrite kullanılmaması gereken durumlar</a></li></ul></div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> |
| <div class="section"> |
| <h2 id="introduction">Giriş <a title="Permanent link" href="#introduction" class="permalink">¶</a></h2> |
| <p>Apache modülü <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, URL değiştirmeleri |
| yapmanın bir yolunu sunan çok güçlü ve karmaşık bir modüldür. Bununla |
| ihtiyaç duyabileceğiniz neredeyse her türlü URL yeniden yazma işlemini |
| gerçekleştirebilirsiniz. Ancak biraz karmaşıktır ve yeni başlayanlar |
| için korkutucu olabilir. Yeniden yazma kurallarını, gerçekte ne |
| yaptıklarını anlamadan sihirli formüller olarak ele alma eğilimi de |
| vardır.</p> |
| |
| <p>Bu belge, takip eden içeriğin körü körüne kopyalanmak yerine |
| anlaşılması için yeterli arka plan bilgisi sağlamaya çalışmaktadır. |
| </p> |
| |
| <p>Birçok yaygın URL değiştirme görevinin <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> |
| modülünün tüm gücünü ve karmaşıklığını gerektirmediğini unutmayın. |
| Basit görevler için <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> modülüne ve <a href="../urlmapping.html">URL'lerin dosya sistemine |
| eşlenmesi</a> belgelerine bakın.</p> |
| |
| <p>Son olarak, devam etmeden önce <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> |
| modülünün günlük seviyesini <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> |
| yönergesini kullanarak izleme seviyelerinden birine yapılandırmayı |
| unutmayın. Bu, bunaltıcı miktarda bilgi sağlasa da, |
| <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> yapılandırma sorunlarını ayıklamada |
| vazgeçilmezdir; çünkü her kuralın nasıl işlendiğini tam olarak |
| gösterir.</p> |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> |
| <div class="section"> |
| <h2 id="regex">Düzenli İfadeler <a title="Permanent link" href="#regex" class="permalink">¶</a></h2> |
| |
| <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, <a href="http://pcre.org/">Perl |
| Uyumlu Düzenli İfade</a> sözvarlığını kullanır. Bu belgede, düzenli |
| ifadelere ayrıntılı bir başvuru sağlamaya çalışmıyoruz. Bunun için |
| <a href="http://pcre.org/pcre.txt">PCRE kılavuz sayfalarını</a>, |
| <a href="http://perldoc.perl.org/perlre.html">Perl düzenli ifade |
| kılavuz sayfasını</a> ve <a href="https://www.oreilly.com/library/view/mastering-regular-expressions/0596528124/">Jeffrey |
| Friedl'ın Mastering Regular Expressions kitabını</a> (üçüncü baskısı |
| 2006'dandır, ancak düzenli ifade sözdizimi temelde değişmemiştir ve |
| bu konu hakkında kesin başvuru kaynağı olmaya devam etmektedir) |
| öneririz.</p> |
| |
| <p>Bu belgede, bunaltıcı olmadan başlamanıza yetecek kadar düzenli |
| ifade sözvarlığı sağlamaya çalışıyoruz; böylece <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> kuralları sihirli |
| formüller yerine bilimsel formüller olacaktır.</p> |
| |
| <h3 id="regexvocab">Düzenli ifade sözvarlığı</h3> |
| |
| <p>Düzenli ifadeler ve <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> kuralları yazmak için |
| ihtiyaç duyacağınız asgari yapı taşları aşağıdadır. Bunlar kesinlikle |
| tam bir düzenli ifade sözvarlığını temsil etmez, ancak başlamak ve |
| temel düzenli ifadeleri okumak için iyi bir yerdir.</p> |
| |
| <table> |
| <tr> |
| <th>Karakter</th> |
| <th>Anlam</th> |
| <th>Örnek</th> |
| </tr> |
| |
| <tr> |
| <td><code>.</code></td> |
| <td>Herhangi bir tek karakterle eşleşir</td> |
| <td><code>c.t</code>; <code>cat</code>, <code>cot</code>, |
| <code>cut</code> vb. ile eşleşir</td> |
| </tr> |
| <tr> |
| <td><code>+</code></td> |
| <td>Önceki eşleşmeyi bir veya daha fazla kez tekrarlar</td> |
| <td><code>a+</code>; <code>a</code>, <code>aa</code>, |
| <code>aaa</code> vb. ile eşleşir</td> |
| </tr> |
| <tr> |
| <td><code>*</code></td> |
| <td>Önceki eşleşmeyi sıfır veya daha fazla kez tekrarlar</td> |
| <td><code>a*</code>; <code>a+</code> ile aynı şeylerle eşleşir |
| ancak ayrıca boş dizgeyle de eşleşir</td> |
| </tr> |
| <tr> |
| <td><code>?</code></td> |
| <td>Eşleşmeyi isteğe bağlı yapar</td> |
| <td><code>colou?r</code>; <code>color</code> ve |
| <code>colour</code> ile eşleşir</td> |
| </tr> |
| <tr> |
| <td><code>\</code></td> |
| <td>Sonraki karakteri kodlar</td> |
| <td><code>\.</code>; yukarıda açıklandığı gibi <em>herhangi bir tek |
| karakter</em> yerine <code>.</code> (nokta) ile eşleşir</td> |
| </tr> |
| <tr> |
| <td><code>^</code></td> |
| <td>Çapa olarak adlandırılır, dizgenin başlangıcıyla eşleşir</td> |
| <td><code>^a</code>; <code>a</code> ile başlayan bir dizgeyle |
| eşleşir</td> |
| </tr> |
| <tr> |
| <td><code>$</code></td> |
| <td>Diğer çapa, dizgenin sonuyla eşleşir</td> |
| <td><code>a$</code>; <code>a</code> ile biten bir dizgeyle |
| eşleşir</td> |
| </tr> |
| <tr> |
| <td><code>( )</code></td> |
| <td>Birkaç karakteri tek bir birime gruplar ve geri başvuruda |
| kullanılmak üzere bir eşleşme yakalar</td> |
| <td><code>(ab)+</code>; <code>ababab</code> ile eşleşir - yani |
| <code>+</code> gruba uygulanır. Geri başvurular hakkında daha |
| fazla bilgi için <a href="#InternalBackRefs">aşağıya</a> |
| bakın</td> |
| </tr> |
| <tr> |
| <td><code>[ ]</code></td> |
| <td>Bir karakter sınıfı - karakterlerden biriyle eşleşir</td> |
| <td><code>c[uoa]t</code>; <code>cut</code>, <code>cot</code> veya |
| <code>cat</code> ile eşleşir</td> |
| </tr> |
| <tr> |
| <td><code>[^ ]</code></td> |
| <td>Olumsuz karakter sınıfı - belirtilmeyen herhangi bir |
| karakterle eşleşir</td> |
| <td><code>c[^/]t</code>; <code>cat</code> veya <code>c=t</code> |
| ile eşleşir ancak <code>c/t</code> ile eşleşmez</td></tr> |
| </table> |
| |
| <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülünde <code>!</code> karakteri |
| düzenli ifadeyi olumsuzlamak için kullanılabilir. Yani, bir dizge |
| yalnızca ifadenin geri kalanıyla eşleşmezse eşleşmiş sayılır.</p> |
| |
| |
| |
| <h3 id="InternalBackRefs">Düzenli İfade Geri Başvuru |
| Kullanılabilirliği</h3> |
| |
| <p>Burada hatırlanması gereken önemli bir şey vardır: |
| <em>Kalıp</em>'ta veya <em>CondPattern</em>'lerden birinde |
| parantez kullandığınızda, <code>$N</code> ve <code>%N</code> |
| dizgeleriyle kullanılabilecek dahili geri başvurular oluşturulur |
| (aşağıya bakın). Bunlar, bir |
| <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> |
| yönergesinin <em>Değiştirme</em> parametresini veya bir |
| <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> |
| yönergesinin <em>SınamaDizgesi</em> parametresini oluşturmak |
| için kullanılabilir.</p> |
| <p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> |
| kalıplarındaki yakalamalar (sezgiye aykırı olarak) kendinden |
| önceki tüm <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> |
| yönergelerinde kullanılabilir; çünkü <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ifadesi bireysel |
| koşullardan önce değerlendirilir.</p> |
| |
| <p>Şekil 1, geri başvuruların genişletilmek üzere hangi |
| konumlara aktarıldığını ve RewriteRule, RewriteCond eşleştirme |
| akışını gösterir. Sonraki bölümlerde bu geri başvuruların nasıl |
| kullanılacağını inceleyeceğiz; bu nedenle ilk başta biraz yabancı |
| görünürse endişelenmeyin. |
| </p> |
| |
| <p class="figure"> |
| <img src="../images/rewrite_backreferences.png" alt="RewriteRule ve RewriteCond eşleştirme akışı"><br> |
| <dfn>Şekil 1:</dfn> Bir kural boyunca geri başvuru akışı.<br> |
| Bu örnekte, <code>/test/1234</code> için bir istek <code>/admin.foo?page=test&id=1234&host=admin.example.com</code> olarak dönüştürülecektir. |
| </p> |
| |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> |
| <div class="section"> |
| <h2 id="rewriterule">RewriteRule Temelleri <a title="Permanent link" href="#rewriterule" class="permalink">¶</a></h2> |
| <p>Bir <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, |
| boşluklarla ayrılmış üç argümandan oluşur. Argümanlar şunlardır:</p> |
| <ol> |
| <li><var>Kalıp</var>: hangi gelen URL'lerin kuraldan etkileneceği;</li> |
| <li><var>Değiştirme</var>: eşleşen isteklerin nereye gönderileceği;</li> |
| <li><var>[bayraklar]</var>: yeniden yazılmış isteği etkileyen |
| seçenekler.</li> |
| </ol> |
| |
| <p><var>Kalıp</var> bir <a href="#regex">düzenli ifadedir</a>. |
| İlk başta (ilk yeniden yazma kuralı için veya bir değiştirme |
| gerçekleşene kadar) gelen isteğin URL yoluyla (konak adından sonra |
| ancak sorgu dizgesinin başlangıcını gösteren soru işaretinden önceki |
| kısım) veya dizin başına bağlamda kuralın tanımlandığı dizine göre |
| isteğin yoluyla eşleştirilir. Bir değiştirme gerçekleştikten sonra |
| izleyen kurallar değiştirilen değerle eşleştirilir. |
| </p> |
| |
| <p class="figure"> |
| <img src="../images/syntax_rewriterule.png" alt="RewriteRule yönergesinin sözdizimi"><br> |
| <dfn>Şekil 2:</dfn> RewriteRule yönergesinin sözdizimi. |
| </p> |
| |
| |
| <p><var>Değiştirme</var> kendisi üç şeyden biri olabilir:</p> |
| |
| <dl> |
| <dt>1. Bir kaynağa tam dosya sistemi yolu</dt> |
| <dd> |
| <pre class="prettyprint lang-config">RewriteRule "^/games" "/usr/local/games/web/puzzles.html"</pre> |
| |
| <p>Bu, <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> yönergesine |
| benzer şekilde bir isteği dosya sistemindeki keyfi bir konuma |
| eşler.</p> |
| </dd> |
| |
| <dt>2. Bir kaynağa web yolu</dt> |
| <dd> |
| <pre class="prettyprint lang-config">RewriteRule "^/games$" "/puzzles.html"</pre> |
| |
| <p><code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> |
| <code>/usr/local/apache2/htdocs</code> olarak ayarlanmışsa, bu |
| yönerge <code>http://example.com/games</code> isteklerini |
| <code>/usr/local/apache2/htdocs/puzzles.html</code> yoluna |
| eşler.</p> |
| |
| </dd> |
| |
| <dt>3. Mutlak bir URL</dt> |
| <dd> |
| <pre class="prettyprint lang-config">RewriteRule "^/product/view$" "http://site2.example.com/seeproduct.html" [R]</pre> |
| |
| <p>Bu, istemciye belirtilen URL için yeni bir istek yapmasını |
| söyler.</p> |
| </dd> |
| </dl> |
| |
| <div class="warning"><strong>1</strong> ve <strong>2</strong>'nin sözdiziminin tamamen aynı olduğunu unutmayın. Aralarındaki fark, <strong>1</strong> durumunda hedef yolun en üst düzeyinin (yani <code>/usr/</code>) dosya sisteminde mevcut olması, <strong>2</strong> durumunda ise mevcut olmamasıdır (yani dosya sisteminde kök düzeyinde bir <code>/bar/</code> dizini yoktur).</div> |
| |
| <p><var>Değiştirme</var>, <var>Kalıp</var> tarafından eşleşen gelen |
| URL yolunun bölümlerine <em>geri başvurular</em> da içerebilir. Şunu |
| ele alalım:</p> |
| <pre class="prettyprint lang-config">RewriteRule "^/product/(.*)/view$" "/var/web/productdb/$1"</pre> |
| |
| <p><code>$1</code> değişkeni, <var>Kalıp</var> içindeki parantez |
| içindeki ifadeyle eşleşen metinle değiştirilir. Örneğin, |
| <code>http://example.com/product/r14df/view</code> isteği |
| <code>/var/web/productdb/r14df</code> yoluna eşlenir.</p> |
| |
| <p>Parantez içinde birden fazla ifade varsa, bunlar sırasıyla |
| <code>$1</code>, <code>$2</code>, <code>$3</code> ve sonraki |
| değişkenlerde kullanılabilir.</p> |
| |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> |
| <div class="section"> |
| <h2 id="flags">Yeniden Yazma Bayrakları <a title="Permanent link" href="#flags" class="permalink">¶</a></h2> |
| <p>Bir <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> |
| yönergesinin davranışı, kuralın sonuna bir veya daha fazla bayrak |
| uygulanarak değiştirilebilir. Örneğin, bir kuralın eşleştirme |
| davranışı <code>[NC]</code> bayrağı uygulanarak büyük/küçük harf |
| duyarsız yapılabilir: |
| </p> |
| <pre class="prettyprint lang-config">RewriteRule "^puppy.html" "smalldog.html" [NC]</pre> |
| |
| |
| <p>Kullanılabilir bayraklar, anlamları ve örnekleri hakkında daha |
| fazla ayrıntı için <a href="flags.html">Yeniden Yazma Bayrakları</a> |
| belgesine bakın.</p> |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> |
| <div class="section"> |
| <h2 id="rewritecond">Yeniden Yazma Koşulları <a title="Permanent link" href="#rewritecond" class="permalink">¶</a></h2> |
| <p>Ardından gelen <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesine tabi |
| olacak istek türlerini kısıtlamak için bir veya daha fazla <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> yönergesi |
| kullanılabilir. İlk argüman isteğin bir özelliğini tanımlayan bir |
| değişken, ikinci argüman değişkenle eşleşmesi gereken bir <a href="#regex">düzenli ifade</a> ve üçüncü isteğe bağlı argüman |
| eşleşmenin nasıl değerlendirileceğini değiştiren bayrakların bir |
| listesidir.</p> |
| |
| <p class="figure"> |
| <img src="../images/syntax_rewritecond.png" alt="RewriteCond yönergesinin sözdizimi"><br> |
| <dfn>Şekil 3:</dfn> RewriteCond yönergesinin sözdizimi |
| </p> |
| |
| <p>Örneğin, belirli bir IP aralığından gelen tüm istekleri farklı |
| bir sunucuya göndermek için şunu kullanabilirsiniz:</p> |
| <pre class="prettyprint lang-config">RewriteCond "%{REMOTE_ADDR}" "^10\.2\." |
| RewriteRule "(.*)" "http://intranet.example.com$1"</pre> |
| |
| |
| <p>Birden fazla <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> |
| belirtildiğinde, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> |
| yönergesinin uygulanması için hepsinin eşleşmesi gerekir. Örneğin, |
| sorgu dizgelerinde "hack" sözcüğünü içeren istekleri reddetmek, ancak |
| "go" sözcüğünü içeren bir çerez taşıyanları hariç tutmak için şunu |
| kullanabilirsiniz:</p> |
| <pre class="prettyprint lang-config">RewriteCond "%{QUERY_STRING}" "hack" |
| RewriteCond "%{HTTP_COOKIE}" !go |
| RewriteRule "." "-" [F]</pre> |
| |
| <p>Ünlem işaretinin olumsuz bir eşleşme belirttiğine dikkat edin; |
| kural yalnızca çerez "go" içermiyorsa uygulanır.</p> |
| |
| <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> |
| yönergelerindeki düzenli ifadelerdeki eşleşmeler, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesindeki |
| <var>Değiştirme</var>'nin bir parçası olarak <code>%1</code>, |
| <code>%2</code> vb. değişkenler kullanılarak kullanılabilir. Örneğin, |
| şu kural siteye erişmek için kullanılan konak adına bağlı olarak |
| isteği farklı bir dizine yönlendirecektir:</p> |
| <pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "(.*)" |
| RewriteRule "^/(.*)" "/sites/%1/$1"</pre> |
| |
| <p>İstek <code>http://example.com/foo/bar</code> için ise |
| <code>%1</code> değeri <code>example.com</code> ve <code>$1</code> |
| değeri <code>foo/bar</code> olacaktır.</p> |
| |
| |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> |
| <div class="section"> |
| <h2 id="rewritemap">Yeniden yazma eşlemleri <a title="Permanent link" href="#rewritemap" class="permalink">¶</a></h2> |
| |
| <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> yönergesi, |
| tabir yerindeyse yeniden yazma işleminizi yapacak harici bir işlev |
| çağırmanın bir yolunu sunar. Bu, <a href="rewritemap.html">RewriteMap ek belgelerinde</a> daha ayrıntılı |
| olarak tartışılmaktadır.</p> |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> |
| <div class="section"> |
| <h2 id="htaccess">.htaccess dosyaları <a title="Permanent link" href="#htaccess" class="permalink">¶</a></h2> |
| |
| <p>Yeniden yazma genellikle ana sunucu yapılandırma ayarında |
| (herhangi bir <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümünün dışında) veya |
| <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> |
| kapsayıcıları içinde yapılandırılır. Bu, yeniden yazma yapmanın en |
| kolay yoludur ve önerilir. Ancak yeniden yazmayı <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümlerinde veya |
| <a href="../howto/htaccess.html"><code>.htaccess</code> |
| dosyalarında</a> bazı ek karmaşıklık pahasına yapmak mümkündür. Bu |
| tekniğe dizin başına yeniden yazma denir.</p> |
| |
| <p>Sunucu başına yeniden yazmadan temel fark, <code>.htaccess</code> |
| dosyasını içeren dizinin yol önekinin, |
| <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesinde |
| eşleştirmeden önce çıkarılmasıdır. Ayrıca, isteğin düzgün şekilde |
| eşlenmesini sağlamak için <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> kullanılmalıdır.</p> |
| |
| </div></div> |
| <div class="bottomlang"> |
| <p><span>Mevcut Diller: </span><a href="../de/rewrite/intro.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | |
| <a href="../en/rewrite/intro.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../es/rewrite/intro.html" hreflang="es" rel="alternate" title="Español"> es </a> | |
| <a href="../fr/rewrite/intro.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | |
| <a href="../ja/rewrite/intro.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | |
| <a href="../ko/rewrite/intro.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | |
| <a href="../tr/rewrite/intro.html" title="Türkçe"> tr </a> | |
| <a href="../zh-cn/rewrite/intro.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p> |
| </div><div id="footer"> |
| <p class="apache">Copyright 2026 The Apache Software Foundation.<br><a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> adı altında lisanslıdır.</p> |
| <p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/quickreference.html">Yönergeler</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Report a bug</a></p></div><script><!--//--><![CDATA[//><!-- |
| if (typeof(prettyPrint) !== 'undefined') { |
| prettyPrint(); |
| } |
| var langToggle = document.querySelector('.lang-toggle'); |
| var topLang = document.querySelector('.toplang'); |
| if (langToggle && topLang) { |
| langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); }); |
| } |
| var qv = document.getElementById('quickview'); |
| if (qv) { |
| document.body.appendChild(qv); |
| var qvBtn = document.createElement('button'); |
| qvBtn.className = 'qv-toggle'; |
| qvBtn.setAttribute('aria-label', 'Toggle page navigation'); |
| qvBtn.innerHTML = '☰'; |
| document.body.appendChild(qvBtn); |
| qvBtn.addEventListener('click', function() { |
| var isOpen = qv.classList.toggle('open'); |
| if (isOpen) { |
| qv.style.top = window.scrollY + 10 + 'px'; |
| } |
| }); |
| window.addEventListener('scroll', function() { qv.classList.remove('open'); }); |
| } |
| //--><!]]></script> |
| </body></html> |