# GENERATED FROM XML -- DO NOT EDIT
+URI: access.html.de
+Content-Language: de
+Content-type: text/html; charset=ISO-8859-1
+
URI: access.html.en.utf8
Content-Language: en
Content-type: text/html; charset=UTF-8
+URI: access.html.es.utf8
+Content-Language: es
+Content-type: text/html; charset=UTF-8
+
URI: access.html.fr.utf8
Content-Language: fr
Content-type: text/html; charset=UTF-8
+
+URI: access.html.ja.utf8
+Content-Language: ja
+Content-type: text/html; charset=UTF-8
+
+URI: access.html.ko.euc-kr
+Content-Language: ko
+Content-type: text/html; charset=EUC-KR
+
+URI: access.html.tr.utf8
+Content-Language: tr
+Content-type: text/html; charset=UTF-8
+
+URI: access.html.zh-cn.utf8
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!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="de" xml:lang="de"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Zugriffskontrolle mit mod_rewrite - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Zugriffskontrolle mit mod_rewrite</h1>
+<div class="toplang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/access.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>Dieses Dokument ergänzt die <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">Referenzdokumentation</a>. Es beschreibt,
+wie Sie <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> zur Zugriffskontrolle auf
+verschiedene Ressourcen verwenden können, sowie weitere verwandte Techniken.
+Dies beinhaltet viele Beispiele für gängige Verwendungen von <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>,
+einschließlich detaillierter Beschreibungen, wie jedes einzelne funktioniert.</p>
+
+<div class="warning">Beachten Sie, dass viele dieser Beispiele nicht unverändert in Ihrer
+speziellen Serverkonfiguration funktionieren werden. Es ist daher wichtig, dass Sie
+sie verstehen, anstatt die Beispiele einfach auszuschneiden und in Ihre
+Konfiguration einzufügen.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#blocked-inline-images">Verhindern von Bild-"Hotlinking"</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#blocking-of-robots">Blockieren von Robots</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#host-deny">Ablehnung von Hosts in einer Sperrliste</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#referer-deflector">Referer-basierter Umleiter</a></li>
+</ul><h3>Siehe auch</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Moduldokumentation</a></li><li><a href="intro.html">Einführung in mod_rewrite</a></li><li><a href="remapping.html">Umleitung und Neuzuordnung</a></li><li><a href="vhosts.html">Virtuelle Hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Verwendung von RewriteMap</a></li><li><a href="advanced.html">Fortgeschrittene Techniken</a></li><li><a href="avoid.html">Wann man mod_rewrite nicht verwenden sollte</a></li><li><a href="#comments_section">Kommentare</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="blocked-inline-images" id="blocked-inline-images">Verhindern von Bild-"Hotlinking"</a> <a title="Permanent link" href="#blocked-inline-images" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Die folgende Technik verhindert die Praxis, dass andere Websites
+ Ihre Bilder direkt in ihre Seiten einbinden. Diese Praxis wird
+ oft als "Hotlinking" bezeichnet und führt dazu,
+ dass Ihre Bandbreite verwendet wird, um Inhalte für die Website
+ einer anderen Person bereitzustellen.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Diese Technik beruht auf dem Wert der
+ <code>HTTP_REFERER</code>-Variable, die optional ist. Daher
+ ist es möglich, dass einige Personen diese Einschränkung
+ umgehen. Die meisten Benutzer werden jedoch die fehlgeschlagene
+ Anfrage bemerken, was im Laufe der Zeit dazu führen sollte,
+ dass das Bild von der anderen Website entfernt wird.</p>
+ <p>Es gibt mehrere Möglichkeiten, mit dieser Situation
+ umzugehen.</p>
+
+ <p>Im ersten Beispiel verweigern wir die Anfrage einfach, wenn sie nicht
+ von einer Seite unserer Website stammt. Für dieses Beispiel nehmen wir
+ an, dass unsere Website <code>www.example.com</code> ist.</p>
+
+
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "-" [F,NC]</pre>
+
+
+ <p>Im zweiten Beispiel zeigen wir statt einer fehlgeschlagenen Anfrage
+ ein alternatives Bild an.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "/images/go-away.png" [R,NC]</pre>
+
+
+ <p>Im dritten Beispiel leiten wir die Anfrage auf ein Bild auf einer
+ anderen Website um.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "http://other.example.com/image.gif" [R,NC]</pre>
+
+
+ <p>Von diesen Techniken sind die letzten beiden am effektivsten,
+ um Personen davon abzuhalten, Ihre Bilder per Hotlink einzubinden,
+ da sie einfach nicht das Bild sehen werden, das sie erwartet haben.</p>
+
+ </dd>
+
+ <dt>Diskussion:</dt>
+
+ <dd>
+ <p>Wenn Sie lediglich den Zugriff auf die Ressource verweigern möchten,
+ anstatt die Anfrage woanders umzuleiten, kann dies ohne die
+ Verwendung von <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> erreicht werden:</p>
+
+ <pre class="prettyprint lang-config">SetEnvIf Referer example\.com localreferer
+<FilesMatch "\.(jpg|png|gif)$">
+ Require env localreferer
+</FilesMatch></pre>
+
+ </dd>
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="blocking-of-robots" id="blocking-of-robots">Blockieren von Robots</a> <a title="Permanent link" href="#blocking-of-robots" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>
+ In diesem Rezept besprechen wir, wie man hartnäckige Anfragen von
+ einem bestimmten Robot oder User-Agent blockiert.</p>
+
+ <p>Der Standard für den Ausschluss von Robots definiert eine Datei,
+ <code>/robots.txt</code>, die die Bereiche Ihrer Website festlegt,
+ von denen Sie Robots ausschließen möchten. Einige Robots halten sich
+ jedoch nicht an diese Dateien.
+ </p>
+
+ <p>Beachten Sie, dass es Methoden gibt, dies ohne die Verwendung
+ von <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> zu erreichen. Beachten Sie auch, dass jede Technik, die auf
+ dem <code>USER_AGENT</code>-String des Clients basiert, sehr leicht
+ umgangen werden kann, da dieser String geändert werden kann.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Wir verwenden einen Regelsatz, der das zu schützende Verzeichnis
+ und den Client-<code>USER_AGENT</code> angibt, der den bösartigen
+ oder hartnäckigen Robot identifiziert.</p>
+
+ <p>In diesem Beispiel blockieren wir einen Robot namens
+ <code>NameOfBadRobot</code> vom Standort
+ <code>/secret/files</code>. Sie können auch einen IP-Adressbereich
+ angeben, wenn Sie den User-Agent nur von einer bestimmten Quelle
+ blockieren möchten.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_USER_AGENT}" "^NameOfBadRobot"
+RewriteCond "%{REMOTE_ADDR}" "=123\.45\.67\.[8-9]"
+RewriteRule "^/secret/files/" "-" [F]</pre>
+
+ </dd>
+
+ <dt>Diskussion:</dt>
+
+ <dd>
+ <p>
+ Anstatt <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> hierfür zu verwenden, können Sie dasselbe
+ Ziel mit alternativen Mitteln erreichen, wie hier gezeigt:
+ </p>
+ <pre class="prettyprint lang-config">SetEnvIfNoCase User-Agent ^NameOfBadRobot goaway
+<Location "/secret/files">
+ <RequireAll>
+ Require all granted
+ Require not env goaway
+ </RequireAll>
+</Location></pre>
+
+ <p>
+ Wie oben erwähnt, ist diese Technik trivial zu umgehen, indem man
+ einfach den <code>USER_AGENT</code>-Anfrage-Header ändert. Wenn Sie
+ einen anhaltenden Angriff erleben, sollten Sie erwägen, diesen
+ auf einer höheren Ebene zu blockieren, beispielsweise an Ihrer Firewall.
+ </p>
+
+ </dd>
+
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="host-deny" id="host-deny">Ablehnung von Hosts in einer Sperrliste</a> <a title="Permanent link" href="#host-deny" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Wir möchten eine Liste von Hosts pflegen, ähnlich wie
+ <code>hosts.deny</code>, und diesen Hosts den Zugriff auf
+ unseren Server verweigern.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap hosts-deny "txt:/path/to/hosts.deny"
+RewriteCond "${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}" "!=NOT-FOUND" [OR]
+RewriteCond "${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "-" [F]</pre>
+
+
+<div class="example"><p><code>
+##<br />
+## hosts.deny<br />
+##<br />
+## ACHTUNG! Dies ist eine Map, keine Liste, auch wenn wir sie als solche behandeln.<br />
+## mod_rewrite parst sie nach Schlüssel/Wert-Paaren, daher muss mindestens<br />
+## ein Dummy-Wert "-" für jeden Eintrag vorhanden sein.<br />
+##<br />
+<br />
+193.102.180.41 -<br />
+bsdti1.sdm.de -<br />
+192.76.162.40 -<br />
+</code></p></div>
+ </dd>
+
+ <dt>Diskussion:</dt>
+ <dd>
+ <p>
+ Die zweite RewriteCond setzt voraus, dass HostNameLookups aktiviert ist,
+ damit Client-IP-Adressen aufgelöst werden. Wenn dies nicht der Fall ist,
+ sollten Sie die zweite RewriteCond weglassen und das <code>[OR]</code>-Flag
+ von der ersten RewriteCond entfernen.
+ </p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="referer-deflector" id="referer-deflector">Referer-basierter Umleiter</a> <a title="Permanent link" href="#referer-deflector" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Anfragen basierend auf dem Referer umleiten, von dem die Anfrage
+ kam, mit unterschiedlichen Zielen pro Referer.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Der folgende Regelsatz verwendet eine Map-Datei, um jeden Referer
+ mit einem Umleitungsziel zu verknüpfen.</p>
+
+<pre class="prettyprint lang-config">RewriteMap deflector "txt:/path/to/deflector.map"
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}}" =-
+RewriteRule "^" "%{HTTP_REFERER}" [R,L]
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "${deflector:%{HTTP_REFERER}}" [R,L]</pre>
+
+
+ <p>Die Map-Datei listet Umleitungsziele für jeden Referer auf, oder,
+ wenn wir nur zurück dorthin umleiten möchten, woher sie kamen, wird ein
+ "-" in die Map eingetragen:</p>
+
+<pre class="prettyprint lang-config">##
+## deflector.map
+##
+
+http://badguys.example.com/bad/index.html -
+http://badguys.example.com/bad/index2.html -
+http://badguys.example.com/bad/index3.html http://somewhere.example.com/</pre>
+
+
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/access.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.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 />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Using mod_rewrite to control access</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/access.html" title="English"> en </a> |
-<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/access.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" title="English"> en </a> |
+<a href="../es/rewrite/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
</div></div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/access.html" title="English"> en </a> |
-<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/access.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" title="English"> en </a> |
+<a href="../es/rewrite/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="es" xml:lang="es"><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>Uso de mod_rewrite para control de acceso - Servidor HTTP Apache Versión 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p>
+<p class="apache">Versión 2.5 del Servidor HTTP Apache</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/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Uso de mod_rewrite para control de acceso</h1>
+<div class="toplang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/access.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/access.html" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>Este documento complementa la <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">documentación de referencia</a>. Describe
+cómo puede usar <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> para controlar el acceso a
+varios recursos, y otras técnicas relacionadas.
+Esto incluye muchos ejemplos de usos comunes de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>,
+incluyendo descripciones detalladas de cómo funciona cada uno.</p>
+
+<div class="warning">Tenga en cuenta que muchos de estos ejemplos no funcionarán sin cambios en su
+configuración particular del servidor, por lo que es importante que los
+entienda, en lugar de simplemente copiar y pegar los ejemplos en su
+configuración.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#blocked-inline-images">Prohibir el "Hotlinking" de imágenes</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#blocking-of-robots">Bloqueo de Robots</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#host-deny">Denegación de Hosts en una Lista de Rechazo</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#referer-deflector">Deflector basado en Referer</a></li>
+</ul><h3>Consulte también</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentación del módulo</a></li><li><a href="intro.html">Introducción a mod_rewrite</a></li><li><a href="remapping.html">Redirección y remapeo</a></li><li><a href="vhosts.html">Hosts virtuales</a></li><li><a href="proxy.html">Proxy</a></li><li><a href="rewritemap.html">Uso de RewriteMap</a></li><li><a href="advanced.html">Técnicas avanzadas</a></li><li><a href="avoid.html">Cuándo no usar mod_rewrite</a></li><li><a href="#comments_section">Comentarios</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="blocked-inline-images" id="blocked-inline-images">Prohibir el "Hotlinking" de imágenes</a> <a title="Enlace permanente" href="#blocked-inline-images" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>La siguiente técnica prohíbe la práctica de que otros sitios
+ incluyan sus imágenes en línea en sus páginas. Esta práctica se
+ conoce a menudo como "hotlinking", y resulta en que
+ su ancho de banda se use para servir contenido del sitio de
+ otra persona.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Esta técnica se basa en el valor de la
+ variable <code>HTTP_REFERER</code>, que es opcional. Como
+ tal, es posible que algunas personas eviten esta
+ limitación. Sin embargo, la mayoría de los usuarios experimentarán la
+ solicitud fallida, lo que debería, con el tiempo, resultar en que la
+ imagen sea eliminada del otro sitio.</p>
+ <p>Hay varias formas en las que puede manejar esta
+ situación.</p>
+
+ <p>En este primer ejemplo, simplemente denegamos la solicitud, si no se
+ originó desde una página en nuestro sitio. Para el propósito de este ejemplo,
+ asumimos que nuestro sitio es <code>www.example.com</code>.</p>
+
+
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "-" [F,NC]</pre>
+
+
+ <p>En este segundo ejemplo, en lugar de denegar la solicitud, mostramos
+ una imagen alternativa en su lugar.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "/images/go-away.png" [R,NC]</pre>
+
+
+ <p>En el tercer ejemplo, redirigimos la solicitud a una imagen en algún
+ otro sitio.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "http://other.example.com/image.gif" [R,NC]</pre>
+
+
+ <p>De estas técnicas, las dos últimas tienden a ser las más efectivas
+ para lograr que la gente deje de hacer hotlinking de sus imágenes, porque
+ simplemente no verán la imagen que esperaban ver.</p>
+
+ </dd>
+
+ <dt>Discusión:</dt>
+
+ <dd>
+ <p>Si todo lo que desea hacer es denegar el acceso al recurso, en lugar
+ de redirigir esa solicitud a otro lugar, esto se puede
+ lograr sin el uso de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>:</p>
+
+ <pre class="prettyprint lang-config">SetEnvIf Referer example\.com localreferer
+<FilesMatch "\.(jpg|png|gif)$">
+ Require env localreferer
+</FilesMatch></pre>
+
+ </dd>
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="blocking-of-robots" id="blocking-of-robots">Bloqueo de Robots</a> <a title="Enlace permanente" href="#blocking-of-robots" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>
+ En esta receta, discutimos cómo bloquear solicitudes persistentes de
+ un robot o agente de usuario en particular.</p>
+
+ <p>El estándar para exclusión de robots define un archivo,
+ <code>/robots.txt</code> que especifica aquellas partes de su
+ sitio web donde desea excluir robots. Sin embargo, algunos robots
+ no respetan estos archivos.
+ </p>
+
+ <p>Tenga en cuenta que hay métodos para lograr esto que no
+ usan <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Tenga en cuenta también que cualquier técnica que dependa
+ de la cadena <code>USER_AGENT</code> del cliente puede ser evitada
+ muy fácilmente, ya que esa cadena puede cambiarse.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Usamos un conjunto de reglas que especifica el directorio a ser
+ protegido, y el <code>USER_AGENT</code> del cliente que
+ identifica al robot malicioso o persistente.</p>
+
+ <p>En este ejemplo, estamos bloqueando un robot llamado
+ <code>NameOfBadRobot</code> de una ubicación
+ <code>/secret/files</code>. También puede especificar un rango de
+ direcciones IP, si está intentando bloquear ese agente de usuario solo desde
+ la fuente particular.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_USER_AGENT}" "^NameOfBadRobot"
+RewriteCond "%{REMOTE_ADDR}" "=123\.45\.67\.[8-9]"
+RewriteRule "^/secret/files/" "-" [F]</pre>
+
+ </dd>
+
+ <dt>Discusión:</dt>
+
+ <dd>
+ <p>
+ En lugar de usar <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> para esto, puede lograr el
+ mismo resultado usando medios alternativos, como se ilustra aquí:
+ </p>
+ <pre class="prettyprint lang-config">SetEnvIfNoCase User-Agent ^NameOfBadRobot goaway
+<Location "/secret/files">
+ <RequireAll>
+ Require all granted
+ Require not env goaway
+ </RequireAll>
+</Location></pre>
+
+ <p>
+ Como se indicó anteriormente, esta técnica es trivial de evadir, simplemente
+ modificando la cabecera de solicitud <code>USER_AGENT</code>. Si
+ está experimentando un ataque sostenido, debería considerar bloquearlo
+ a un nivel superior, como en su firewall.
+ </p>
+
+ </dd>
+
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="host-deny" id="host-deny">Denegación de Hosts en una Lista de Rechazo</a> <a title="Enlace permanente" href="#host-deny" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>Deseamos mantener una lista de hosts, similar a
+ <code>hosts.deny</code>, y hacer que esos hosts sean bloqueados
+ del acceso a nuestro servidor.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap hosts-deny "txt:/path/to/hosts.deny"
+RewriteCond "${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}" "!=NOT-FOUND" [OR]
+RewriteCond "${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "-" [F]</pre>
+
+
+<div class="example"><p><code>
+##<br />
+## hosts.deny<br />
+##<br />
+## ¡ATENCIÓN! Esto es un mapa, no una lista, incluso cuando lo tratamos como tal.<br />
+## mod_rewrite lo analiza buscando pares clave/valor, así que al menos un<br />
+## valor ficticio "-" debe estar presente para cada entrada.<br />
+##<br />
+<br />
+193.102.180.41 -<br />
+bsdti1.sdm.de -<br />
+192.76.162.40 -<br />
+</code></p></div>
+ </dd>
+
+ <dt>Discusión:</dt>
+ <dd>
+ <p>
+ La segunda RewriteCond asume que tiene HostNameLookups activado,
+ de modo que las direcciones IP de los clientes sean resueltas. Si ese no es el
+ caso, debería eliminar la segunda RewriteCond, y eliminar la
+ bandera <code>[OR]</code> de la primera RewriteCond.
+ </p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="referer-deflector" id="referer-deflector">Deflector basado en Referer</a> <a title="Enlace permanente" href="#referer-deflector" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>Redirigir solicitudes basadas en el Referer del cual provino la solicitud,
+ con diferentes destinos por Referer.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>El siguiente conjunto de reglas usa un archivo de mapa para asociar cada Referer
+ con un destino de redirección.</p>
+
+<pre class="prettyprint lang-config">RewriteMap deflector "txt:/path/to/deflector.map"
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}}" =-
+RewriteRule "^" "%{HTTP_REFERER}" [R,L]
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "${deflector:%{HTTP_REFERER}}" [R,L]</pre>
+
+
+ <p>El archivo de mapa lista los destinos de redirección para cada referer, o, si
+ simplemente deseamos redirigir de vuelta a donde vinieron, se coloca un "-"
+ en el mapa:</p>
+
+<pre class="prettyprint lang-config">##
+## deflector.map
+##
+
+http://badguys.example.com/bad/index.html -
+http://badguys.example.com/bad/index2.html -
+http://badguys.example.com/bad/index3.html http://somewhere.example.com/</pre>
+
+
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/access.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/access.html" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.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 />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Utiliser mod_rewrite pour le contrôle d'accès</h1>
<div class="toplang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/access.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/access.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
</div></div>
<div class="bottomlang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/access.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/access.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.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 />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="ja" xml:lang="ja"><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>mod_rewrite を使ったアクセス制御 - Apache HTTP サーバ バージョン 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
+<p class="apache">Apache HTTP サーバ バージョン 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite を使ったアクセス制御</h1>
+<div class="toplang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/access.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>このドキュメントは <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">リファレンスドキュメント</a>を補足するものです。
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を使用してさまざまなリソースへのアクセスを制御する方法と、
+その他の関連テクニックについて説明します。
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> の一般的な使用例を多数含んでおり、
+それぞれの動作についての詳細な説明も含まれています。</p>
+
+<div class="warning">これらの例の多くは、特定のサーバ設定ではそのまま
+動作しないことに注意してください。そのため、単にコピー&ペーストするのではなく、
+内容を理解することが重要です。</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#blocked-inline-images">画像の "直リンク" の禁止</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#blocking-of-robots">ロボットのブロック</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#host-deny">拒否リストのホストの拒否</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#referer-deflector">リファラに基づくデフレクタ</a></li>
+</ul><h3>参照</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">モジュールドキュメント</a></li><li><a href="intro.html">mod_rewrite 入門</a></li><li><a href="remapping.html">リダイレクトとリマッピング</a></li><li><a href="vhosts.html">バーチャルホスト</a></li><li><a href="proxy.html">プロキシ</a></li><li><a href="rewritemap.html">RewriteMap の使用</a></li><li><a href="advanced.html">高度なテクニック</a></li><li><a href="avoid.html">mod_rewrite を使わない場合</a></li><li><a href="#comments_section">コメント</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="blocked-inline-images" id="blocked-inline-images">画像の "直リンク" の禁止</a> <a title="Permanent link" href="#blocked-inline-images" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>以下のテクニックは、他のサイトがあなたの画像をそのページに
+ インラインで含める行為を禁止します。この行為は
+ "直リンク" と呼ばれることが多く、あなたの帯域幅が
+ 他のサイトのコンテンツ提供のために使用される結果となります。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>このテクニックは <code>HTTP_REFERER</code> 変数の値に
+ 依存していますが、この値はオプションです。そのため、一部の
+ ユーザはこの制限を回避できます。ただし、ほとんどのユーザは
+ リクエスト失敗を経験し、時間の経過とともにその画像が
+ 他のサイトから削除される結果となるはずです。</p>
+ <p>この状況に対処する方法はいくつかあります。</p>
+
+ <p>最初の例では、リクエストが当サイトのページから開始されたものでない
+ 場合、単純にリクエストを拒否します。この例では、当サイトが
+ <code>www.example.com</code> であると仮定しています。</p>
+
+
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "-" [F,NC]</pre>
+
+
+ <p>2 番目の例では、リクエストを失敗させる代わりに、
+ 代替画像を表示します。</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "/images/go-away.png" [R,NC]</pre>
+
+
+ <p>3 番目の例では、リクエストを他のサイトの画像にリダイレクト
+ します。</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "http://other.example.com/image.gif" [R,NC]</pre>
+
+
+ <p>これらのテクニックのうち、後の 2 つが画像の直リンクをやめさせる
+ のに最も効果的です。期待していた画像が表示されなくなるためです。</p>
+
+ </dd>
+
+ <dt>議論:</dt>
+
+ <dd>
+ <p>リクエストを他の場所にリダイレクトするのではなく、単にリソースへの
+ アクセスを拒否したいだけの場合、<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を使わずに
+ 実現できます:</p>
+
+ <pre class="prettyprint lang-config">SetEnvIf Referer example\.com localreferer
+<FilesMatch "\.(jpg|png|gif)$">
+ Require env localreferer
+</FilesMatch></pre>
+
+ </dd>
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="blocking-of-robots" id="blocking-of-robots">ロボットのブロック</a> <a title="Permanent link" href="#blocking-of-robots" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>
+ このレシピでは、特定のロボットやユーザエージェントからの
+ しつこいリクエストをブロックする方法について説明します。</p>
+
+ <p>ロボット排除の標準では、ウェブサイトのどの部分でロボットを
+ 除外したいかを指定する <code>/robots.txt</code> というファイルが
+ 定義されています。しかし、一部のロボットはこれらのファイルを
+ 尊重しません。</p>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を使用しない方法もあることに注意してください。
+ また、クライアントの <code>USER_AGENT</code> 文字列に依存する
+ テクニックは、その文字列を変更できるため、非常に簡単に回避できる
+ ことにも注意してください。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>保護するディレクトリと、悪意のあるまたはしつこいロボットを
+ 識別するクライアント <code>USER_AGENT</code> を指定する
+ ルールセットを使用します。</p>
+
+ <p>この例では、<code>NameOfBadRobot</code> というロボットを
+ <code>/secret/files</code> という場所からブロックしています。
+ 特定のソースからのみそのユーザエージェントをブロックしたい場合は、
+ IP アドレス範囲も指定できます。</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_USER_AGENT}" "^NameOfBadRobot"
+RewriteCond "%{REMOTE_ADDR}" "=123\.45\.67\.[8-9]"
+RewriteRule "^/secret/files/" "-" [F]</pre>
+
+ </dd>
+
+ <dt>議論:</dt>
+
+ <dd>
+ <p>
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を使わずに、次に示すような代替手段で
+ 同じ目的を達成できます:
+ </p>
+ <pre class="prettyprint lang-config">SetEnvIfNoCase User-Agent ^NameOfBadRobot goaway
+<Location "/secret/files">
+ <RequireAll>
+ Require all granted
+ Require not env goaway
+ </RequireAll>
+</Location></pre>
+
+ <p>
+ 上記で述べたように、このテクニックは <code>USER_AGENT</code>
+ リクエストヘッダを変更するだけで簡単に回避できます。持続的な
+ 攻撃を受けている場合は、ファイアウォールなどのより上位のレベルで
+ ブロックすることを検討してください。
+ </p>
+
+ </dd>
+
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="host-deny" id="host-deny">拒否リストのホストの拒否</a> <a title="Permanent link" href="#host-deny" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p><code>hosts.deny</code> のようなホストのリストを管理し、
+ それらのホストがサーバにアクセスするのをブロックしたいと
+ 考えています。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap hosts-deny "txt:/path/to/hosts.deny"
+RewriteCond "${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}" "!=NOT-FOUND" [OR]
+RewriteCond "${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "-" [F]</pre>
+
+
+<div class="example"><p><code>
+##<br />
+## hosts.deny<br />
+##<br />
+## 注意! これはリストではなくマップです。リストとして扱う場合でも、<br />
+## mod_rewrite はキー/値のペアとして解析するため、各エントリに<br />
+## 少なくともダミーの値 "-" が必要です。<br />
+##<br />
+<br />
+193.102.180.41 -<br />
+bsdti1.sdm.de -<br />
+192.76.162.40 -<br />
+</code></p></div>
+ </dd>
+
+ <dt>議論:</dt>
+ <dd>
+ <p>
+ 2 番目の RewriteCond は、HostNameLookups がオンになっていて、
+ クライアント IP アドレスが解決されることを前提としています。
+ そうでない場合は、2 番目の RewriteCond を削除し、最初の
+ RewriteCond から <code>[OR]</code> フラグを削除してください。
+ </p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="referer-deflector" id="referer-deflector">リファラに基づくデフレクタ</a> <a title="Permanent link" href="#referer-deflector" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>リクエストの送信元のリファラに基づいてリクエストをリダイレクトし、
+ リファラごとに異なるターゲットを設定します。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>以下のルールセットは、マップファイルを使用して各リファラを
+ リダイレクト先に関連付けます。</p>
+
+<pre class="prettyprint lang-config">RewriteMap deflector "txt:/path/to/deflector.map"
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}}" =-
+RewriteRule "^" "%{HTTP_REFERER}" [R,L]
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "${deflector:%{HTTP_REFERER}}" [R,L]</pre>
+
+
+ <p>マップファイルには各リファラのリダイレクト先が記述されています。
+ 単にリファラ元にリダイレクトしたい場合は、マップに
+ "-" を配置します:</p>
+
+<pre class="prettyprint lang-config">##
+## deflector.map
+##
+
+http://badguys.example.com/bad/index.html -
+http://badguys.example.com/bad/index2.html -
+http://badguys.example.com/bad/index3.html http://somewhere.example.com/</pre>
+
+
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/access.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.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="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="EUC-KR"?>
+<!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="ko" xml:lang="ko"><head>
+<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_rewriteë¥� �¬ì�©í�� ��ê·� ���� - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewriteë¥� �¬ì�©í�� ��ê·� ����</h1>
+<div class="toplang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/access.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>�� 문��� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">참조 문ì��</a>ë¥� ë³´ì¶©�©ë����.
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥� �¬ì�©í���� �¤ì���� ������ ����
+��ê·¼ì�� ���´í���� ë°©ë�ê³� 기í�� ê´��� 기ì���� �¤ë��©ë����.
+�¬ê¸°���� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� �¼ë����� �¬ì�� ����ê°�
+ë§��� �¬í�¨ë���� ���¼ë©°, ê°�ê°��� �´ë�»ê� ��������ì§��� ����
+���¸í�� �¤ë��� ���µë����.</p>
+
+<div class="warning">�� ������ ì¤� ë§��� ê²��� �¹ì�� ��ë²� �¤ì������
+ê·¸ë��ë¡� ������ì§� ���� �� ���¼ë��ë¡�, �¨ì���� ����ë¥� ë³µì�¬í����
+�¤ì���� ë¶��¬ë�£ê¸°ë³´ë�¤ë�� �´í�´í���� ê²��� ì¤����©ë����.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#blocked-inline-images">�´ë�¸ì� "�«ë���" ê¸�ì§�</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#blocking-of-robots">�� 차�</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#host-deny">ê±°ë� 목ë��� �¸ì�¤í�� ì°¨ë��</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#referer-deflector">리í�¼ë�� 기ë� ��������</a></li>
+</ul><h3>Âü°í</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">모ë�� 문ì��</a></li><li><a href="intro.html">mod_rewrite ��ê°�</a></li><li><a href="remapping.html">리ë�¤ì�´ë����ê³� �¬ë§¤��</a></li><li><a href="vhosts.html">ê°��� �¸ì�¤í��</a></li><li><a href="proxy.html">��ë¡���</a></li><li><a href="rewritemap.html">RewriteMap �¬ì�©í��ê¸�</a></li><li><a href="advanced.html">ê³�ê¸� 기ì��</a></li><li><a href="avoid.html">mod_rewriteë¥� �¬ì�©í��ì§� ë§����� �� ê²½ì��</a></li><li><a href="#comments_section">Comments</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="blocked-inline-images" id="blocked-inline-images">�´ë�¸ì� "�«ë���" ê¸�ì§�</a> <a title="Permanent link" href="#blocked-inline-images" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>�¤ì�� 기ì���� �¤ë¥¸ �¬ì�´í�¸ê� �¬ë�¬ë��� �´ë�¸ì�ë¥�
+ ������ ���´ì��� �¸ë�¼ì�¸ì�¼ë� �¬í�¨í���� ê²��� ê¸�ì§��©ë����.
+ �� ������ ���� "�«ë���"�´ë�¼ê� ��ë©�,
+ �¬ë�¬ë��� �������� �¤ë¥¸ �¬ì�´í�¸ì�� ì½���ì¸�ë¥� ��ê³µí���� ��
+ �¬ì�©ë���� ê²°ê³¼ë¥� ì´����©ë����.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>�� 기��� <code>HTTP_REFERER</code> ����� ���
+ ��ì¡´í��ë©�, �´ë�� ������������. �°ë�¼ì�� �¼ë� �¬ì�©ì��ê°�
+ �� ������ �°í���� �� ���µë����. ê·¸ë�¬ë�� ��ë¶�ë¶���
+ �¬ì�©ì���� �¤í�¨í�� ��ì²��� ê²½í����ê²� ��ë©�, ��ê°��� ì§���ë©�
+ �´ë�� �´ë�¸ì�ê°� �¤ë¥¸ �¬ì�´í�¸ì���� ��ê±°ë���� ê²°ê³¼ë¥�
+ ê°��¸ì�� ê²�������.</p>
+ <p>�� ���©ì�� ì²�리í���� ëª� ê°�ì§� ë°©ë��� ���µë����.</p>
+
+ <p>ì²� ë²�ì§� ���������� �°ë¦¬ �¬ì�´í�¸ì�� ���´ì����� ������ì§� ����
+ ��ì²��� �¨ì���� ê±°ë��©ë����. �� ���������� �°ë¦¬ �¬ì�´í�¸ê�
+ <code>www.example.com</code>�´ë�¼ê� ê°����©ë����.</p>
+
+
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "-" [F,NC]</pre>
+
+
+ <p>�� ë²�ì§� ���������� ��ì²��� �¤í�¨ì���¤ë�� ����
+ ��ì²� �´ë�¸ì�ë¥� �����©ë����.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "/images/go-away.png" [R,NC]</pre>
+
+
+ <p>�� ë²�ì§� ���������� ��ì²��� �¤ë¥¸ �¬ì�´í�¸ì�� �´ë�¸ì�ë¡�
+ 리ë�¤ì�´ë���¸í�©ë����.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "http://other.example.com/image.gif" [R,NC]</pre>
+
+
+ <p>�� 기ì���� ì¤� ë§�ì§�ë§� �� ê°�ì§�ê°� �´ë�¸ì� �«ë��¹ì��
+ ì¤��¨ì���¤ë�� �� ê°��� �¨ê³¼��������. �¬ì�©ì���¤ì�� 기ë����
+ �´ë�¸ì�ë¥� ë³� �� ��ê¸� ��문ì������.</p>
+
+ </dd>
+
+ <dt>���:</dt>
+
+ <dd>
+ <p>��ì²��� �¤ë¥¸ ê³³ì�¼ë� 리ë�¤ì�´ë���¸í���� ê²��� ������
+ �¨ì���� ������ ���� ��ê·¼ì�� ê±°ë����¤ë�� ê²½ì��,
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥� �¬ì�©í��ì§� ��ê³���
+ �´ë�� ������ �� ���µë����:</p>
+
+ <pre class="prettyprint lang-config">SetEnvIf Referer example\.com localreferer
+<FilesMatch "\.(jpg|png|gif)$">
+ Require env localreferer
+</FilesMatch></pre>
+
+ </dd>
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="blocking-of-robots" id="blocking-of-robots">ë¡�ë´� ì°¨ë��</a> <a title="Permanent link" href="#blocking-of-robots" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>�� �����¼ì������ �¹ì�� ë¡�ë´� ���� �¬ì�©ì�� ���´ì���¸ì��
+ ì§������� ��ì²��� ì°¨ë�¨í���� ë°©ë��� �¼ì���©ë����.</p>
+
+ <p>ë¡�ë´� ë°°ì�� ��ì¤��� <code>/robots.txt</code>�¼ë��
+ ���¼ì�� ������ë©�, �� ���¼ì�� ë¡�ë´��� ë°°ì����ê³��� ����
+ �¹ì�¬ì�´í�¸ì�� ë¶�ë¶��� ì§����©ë����. ê·¸ë�¬ë�� �¼ë� ë¡�ë´���
+ �� ���¼ì�� ì¤�����ì§� ���µë����.</p>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥� �¬ì�©í��ì§� ��ê³���
+ �´ë�� ������ �� ���� ë°©ë��� ���¤ë�� ���� ������������.
+ ���� �´ë�¼ì�´ì�¸í�¸ì�� <code>USER_AGENT</code> 문ì���´ì��
+ ��ì¡´í���� 기ì���� �´ë�� 문ì���´ì�� �½ê� ë³�ê²½í�� �� ���¼ë��ë¡�
+ 매ì�� �½ê� �°í���� �� ���¤ë�� ���� ������������.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>ë³´í�¸í�� ������리ì�� �������´ê±°�� ì§������� ë¡�ë´���
+ ��ë³����� �´ë�¼ì�´ì�¸í�� <code>USER_AGENT</code>ë¥�
+ ì§������� ê·�ì¹� �¸í�¸ë�� �¬ì�©í�©ë����.</p>
+
+ <p>�� ���������� <code>NameOfBadRobot</code>�´ë�¼ë��
+ ���� <code>/secret/files</code> �������
+ ì°¨ë�¨í�©ë����. �¹ì�� ���¤ì����ë§� �´ë�� �¬ì�©ì�� ���´ì���¸ë��
+ ì°¨ë�¨í���¤ë�� ê²½ì�� IP 주ì�� ë²���ë¥� ì§����� ���� ���µë����.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_USER_AGENT}" "^NameOfBadRobot"
+RewriteCond "%{REMOTE_ADDR}" "=123\.45\.67\.[8-9]"
+RewriteRule "^/secret/files/" "-" [F]</pre>
+
+ </dd>
+
+ <dt>���:</dt>
+
+ <dd>
+ <p>
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥� �¬ì�©í���� ����, �¬ê¸°�� �¤ë��� ��ë¡�
+ �¤ë¥¸ ë°©ë��� �¬ì�©í���� ���¼í�� ê²°ê³¼ë¥� �¬ì�±í�� �� ���µë����:
+ </p>
+ <pre class="prettyprint lang-config">SetEnvIfNoCase User-Agent ^NameOfBadRobot goaway
+<Location "/secret/files">
+ <RequireAll>
+ Require all granted
+ Require not env goaway
+ </RequireAll>
+</Location></pre>
+
+ <p>
+ ������ �¸ê��� ë°��� ê°���, �� 기ì���� <code>USER_AGENT</code>
+ ��ì²� �¤ë��ë¥� �������� ê²�ë§��¼ë��� �½ê� �°í���� �� ���µë����.
+ ì§������� 공격�� ë°�ê³� ���¤ë©´, ë°©í��벽과 ê°��� ���� ��ì¤�����
+ ì°¨ë�¨í���� ê²��� ê³��¤í�´ì�� �©ë����.
+ </p>
+
+ </dd>
+
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="host-deny" id="host-deny">ê±°ë� 목ë��� �¸ì�¤í�� ì°¨ë��</a> <a title="Permanent link" href="#host-deny" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p><code>hosts.deny</code>�� ê°��� �¸ì�¤í�� 목ë��� ê´�리í����
+ �´ë�� �¸ì�¤í�¸ê� ��ë²��� ��ê·¼í��ì§� 못í����ë¡� ì°¨ë�¨í��ê³��� �©ë����.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap hosts-deny "txt:/path/to/hosts.deny"
+RewriteCond "${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}" "!=NOT-FOUND" [OR]
+RewriteCond "${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "-" [F]</pre>
+
+
+<div class="example"><p><code>
+##<br />
+## hosts.deny<br />
+##<br />
+## 주ì��! �´ê��� 목ë��� ������ ë§µì������.<br />
+## mod_rewriteê°� ��/ê°� ���� ���±í��ë¯�ë¡� ê°� ��목ì��<br />
+## ìµ����� ��ë¯� ê°� "-"�� ���´ì�� �©ë����.<br />
+##<br />
+<br />
+193.102.180.41 -<br />
+bsdti1.sdm.de -<br />
+192.76.162.40 -<br />
+</code></p></div>
+ </dd>
+
+ <dt>���:</dt>
+ <dd>
+ <p>
+ �� �� RewriteCond�� HostNameLookups� ��� ����
+ �´ë�¼ì�´ì�¸í�� IP 주ì��ê°� �´ì�����¤ê� ê°����©ë����. ê·¸ë��ì§�
+ ���� 경�, �� �� RewriteCond� ������� � ��
+ RewriteCond���� <code>[OR]</code> ����그� ��거��
+ �©ë����.
+ </p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="referer-deflector" id="referer-deflector">리í�¼ë�� 기ë� ��������</a> <a title="Permanent link" href="#referer-deflector" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>��ì²��� �� 리í�¼ë�¬ì�� �°ë�� ��ì²��� 리ë�¤ì�´ë���¸í��ë©�,
+ 리í�¼ë�¬ë�ë¡� �¤ë¥¸ ������ ì§����©ë����.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>�¤ì�� ê·�ì¹� �¸í�¸ë�� ë§� ���¼ì�� �¬ì�©í���� ê°� 리í�¼ë�¬ë��
+ 리ë�¤ì�´ë���� ����ê³� �°ê²°�©ë����.</p>
+
+<pre class="prettyprint lang-config">RewriteMap deflector "txt:/path/to/deflector.map"
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}}" =-
+RewriteRule "^" "%{HTTP_REFERER}" [R,L]
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "${deflector:%{HTTP_REFERER}}" [R,L]</pre>
+
+
+ <p>ë§� ���¼ì�� ê°� 리í�¼ë�¬ì�� ���� 리ë�¤ì�´ë���� ������
+ ���´í��ê±°ë��, �¨ì���� ���� ��ì¹�ë¡� 리ë�¤ì�´ë���¸í���¤ë��
+ ê²½ì�� ë§µì�� "-"�� �£ì�µë����:</p>
+
+<pre class="prettyprint lang-config">##
+## deflector.map
+##
+
+http://badguys.example.com/bad/index.html -
+http://badguys.example.com/bad/index2.html -
+http://badguys.example.com/bad/index3.html http://somewhere.example.com/</pre>
+
+
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/access.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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>Erişim Denetimi için mod_rewrite Kullanımı - 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" type="text/javascript">
+</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></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="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.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Erişim Denetimi için mod_rewrite Kullanımı</h1>
+<div class="toplang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/access.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</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.
+Çeşitli kaynaklara erişimi denetlemek için <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+modülünü nasıl kullanabileceğinizi ve diğer ilgili teknikleri açıklar.
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülünün yaygın kullanımlarına ilişkin,
+her birinin nasıl çalıştığının ayrıntılı açıklamalarını içeren birçok
+örnek sunulmaktadır.</p>
+
+<div class="warning">Bu örneklerin birçoğunun sizin sunucu yapılandırmanızda
+değişiklik yapılmadan çalışmayacağını unutmayın; bu nedenle örnekleri
+yapılandırmanıza kopyalayıp yapıştırmak yerine anlamanız
+önemlidir.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#blocked-inline-images">Resim "Hotlinking"inin Engellenmesi</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#blocking-of-robots">Robotların Engellenmesi</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#host-deny">Reddetme Listesindeki Konakların Engellenmesi</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#referer-deflector">Referer Tabanlı Yönlendirici</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="intro.html">mod_rewrite'a giriş</a></li><li><a href="remapping.html">Yeniden yönlendirme ve yeniden eşleme</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><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="blocked-inline-images" id="blocked-inline-images">Resim "Hotlinking"inin Engellenmesi</a> <a title="Permanent link" href="#blocked-inline-images" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>Aşağıdaki teknik, diğer sitelerin resimlerinizi kendi
+ sayfalarına satır içi olarak dahil etme uygulamasını engeller.
+ Bu uygulama genellikle "hotlinking" olarak anılır ve
+ bant genişliğinizin başkasının sitesi için içerik sunmak
+ amacıyla kullanılmasına neden olur.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>Bu teknik, isteğe bağlı olan <code>HTTP_REFERER</code>
+ değişkeninin değerine dayanır. Bu nedenle, bazı kişilerin bu
+ sınırlamayı atlaması mümkündür. Ancak çoğu kullanıcı başarısız
+ isteği deneyimleyecektir ve bu, zamanla resmin o diğer siteden
+ kaldırılmasına yol açacaktır.</p>
+ <p>Bu durumu ele almanın birkaç yolu vardır.</p>
+
+ <p>Bu ilk örnekte, istek sitemizden bir sayfadan başlatılmadıysa
+ isteği reddederiz. Bu örnek için sitemizin
+ <code>www.example.com</code> olduğunu varsayıyoruz.</p>
+
+
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "-" [F,NC]</pre>
+
+
+ <p>Bu ikinci örnekte, isteği reddetmek yerine alternatif bir resim
+ gösteriyoruz.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "/images/go-away.png" [R,NC]</pre>
+
+
+ <p>Üçüncü örnekte, isteği başka bir sitedeki bir resme
+ yönlendiriyoruz.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "http://other.example.com/image.gif" [R,NC]</pre>
+
+
+ <p>Bu tekniklerden son ikisi, insanların resimlerinizi
+ hotlinking yapmayı bırakmasını sağlamada en etkili olanlardır;
+ çünkü görmeyi bekledikleri resmi göremeyeceklerdir.</p>
+
+ </dd>
+
+ <dt>Tartışma:</dt>
+
+ <dd>
+ <p>Tek yapmak istediğiniz kaynağa erişimi reddetmekse, isteği
+ başka bir yere yönlendirmek yerine bu,
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> kullanılmadan da
+ gerçekleştirilebilir:</p>
+
+ <pre class="prettyprint lang-config">SetEnvIf Referer example\.com localreferer
+<FilesMatch "\.(jpg|png|gif)$">
+ Require env localreferer
+</FilesMatch></pre>
+
+ </dd>
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="blocking-of-robots" id="blocking-of-robots">Robotların Engellenmesi</a> <a title="Permanent link" href="#blocking-of-robots" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>
+ Bu tarifle, belirli bir robot veya kullanıcı aracısından gelen
+ sürekli isteklerin nasıl engelleneceğini tartışıyoruz.</p>
+
+ <p>Robot dışlama standardı, web sitenizin robotları dışlamak
+ istediğiniz bölümlerini belirten <code>/robots.txt</code>
+ adında bir dosya tanımlar. Ancak bazı robotlar bu dosyalara
+ uymaz.</p>
+
+ <p>Bunu gerçekleştirmenin <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ kullanmayan yöntemleri olduğunu unutmayın. Ayrıca istemcinin
+ <code>USER_AGENT</code> dizgesine dayanan herhangi bir tekniğin
+ kolayca atlanabileceğini de unutmayın; çünkü bu dizge
+ değiştirilebilir.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>Korunacak dizini ve zararlı ya da ısrarcı robotu tanımlayan
+ istemci <code>USER_AGENT</code> dizgesini belirten bir kural
+ kümesi kullanıyoruz.</p>
+
+ <p>Bu örnekte, <code>NameOfBadRobot</code> adlı bir robotu
+ <code>/secret/files</code> konumundan engelliyoruz. Kullanıcı
+ aracısını yalnızca belirli bir kaynaktan engellemek istiyorsanız
+ bir IP adresi aralığı da belirtebilirsiniz.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_USER_AGENT}" "^NameOfBadRobot"
+RewriteCond "%{REMOTE_ADDR}" "=123\.45\.67\.[8-9]"
+RewriteRule "^/secret/files/" "-" [F]</pre>
+
+ </dd>
+
+ <dt>Tartışma:</dt>
+
+ <dd>
+ <p>
+ Bunun için <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> kullanmak yerine, aynı
+ sonucu burada gösterildiği gibi alternatif yollarla elde
+ edebilirsiniz:
+ </p>
+ <pre class="prettyprint lang-config">SetEnvIfNoCase User-Agent ^NameOfBadRobot goaway
+<Location "/secret/files">
+ <RequireAll>
+ Require all granted
+ Require not env goaway
+ </RequireAll>
+</Location></pre>
+
+ <p>
+ Yukarıda belirtildiği gibi, bu teknik <code>USER_AGENT</code>
+ istek başlığını değiştirerek kolayca atlanabilir. Sürekli bir
+ saldırıyla karşılaşıyorsanız, bunu güvenlik duvarınız gibi daha
+ üst bir düzeyde engellemeyi düşünmelisiniz.
+ </p>
+
+ </dd>
+
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="host-deny" id="host-deny">Reddetme Listesindeki Konakların Engellenmesi</a> <a title="Permanent link" href="#host-deny" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p><code>hosts.deny</code> gibi bir konak listesi tutmak ve bu
+ konakların sunucumuza erişimini engellemek istiyoruz.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap hosts-deny "txt:/path/to/hosts.deny"
+RewriteCond "${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}" "!=NOT-FOUND" [OR]
+RewriteCond "${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "-" [F]</pre>
+
+
+<div class="example"><p><code>
+##<br />
+## hosts.deny<br />
+##<br />
+## DİKKAT! Bu bir liste değil, bir eşlem dosyasıdır.<br />
+## mod_rewrite bunu anahtar/değer çiftleri olarak çözümler,<br />
+## bu yüzden her girdi için en azından bir yapay "-" değeri<br />
+## mevcut olmalıdır.<br />
+##<br />
+<br />
+193.102.180.41 -<br />
+bsdti1.sdm.de -<br />
+192.76.162.40 -<br />
+</code></p></div>
+ </dd>
+
+ <dt>Tartışma:</dt>
+ <dd>
+ <p>
+ İkinci RewriteCond, istemci IP adreslerinin çözümlenmesi için
+ HostNameLookups özelliğinin açık olduğunu varsayar. Durum böyle
+ değilse, ikinci RewriteCond'u kaldırmalı ve birinci RewriteCond'dan
+ <code>[OR]</code> bayrağını çıkarmalısınız.
+ </p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="referer-deflector" id="referer-deflector">Referer Tabanlı Yönlendirici</a> <a title="Permanent link" href="#referer-deflector" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>İstekleri, isteğin geldiği Referer'a göre, her Referer için
+ farklı hedeflerle yeniden yönlendirir.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>Aşağıdaki kural kümesi, her Referer'ı bir yönlendirme hedefiyle
+ ilişkilendirmek için bir eşlem dosyası kullanır.</p>
+
+<pre class="prettyprint lang-config">RewriteMap deflector "txt:/path/to/deflector.map"
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}}" =-
+RewriteRule "^" "%{HTTP_REFERER}" [R,L]
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "${deflector:%{HTTP_REFERER}}" [R,L]</pre>
+
+
+ <p>Eşlem dosyası, her referer için yeniden yönlendirme hedeflerini
+ listeler veya yalnızca geldikleri yere geri yönlendirmek
+ istiyorsak eşleme bir "-" konur:</p>
+
+<pre class="prettyprint lang-config">##
+## deflector.map
+##
+
+http://badguys.example.com/bad/index.html -
+http://badguys.example.com/bad/index2.html -
+http://badguys.example.com/bad/index3.html http://somewhere.example.com/</pre>
+
+
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/access.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.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="http://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></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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="zh-cn" xml:lang="zh-cn"><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>使用 mod_rewrite 控制访问 - Apache HTTP 服务器 版本 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP 服务器版本 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP 服务器</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../">版本 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>使用 mod_rewrite 控制访问</h1>
+<div class="toplang">
+<p><span>可用语言: </span><a href="../de/rewrite/access.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.html" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>本文档是 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">参考文档</a>的补充。它描述了如何使用
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 来控制对各种资源的访问,以及其他相关技术。
+其中包括许多 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 的常见用法示例,
+以及每个示例工作原理的详细描述。</p>
+
+<div class="warning">请注意,这些示例中的许多不会在你的特定服务器配置中直接生效,
+因此理解它们非常重要,而不仅仅是将示例复制粘贴到你的配置中。</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#blocked-inline-images">禁止图片"盗链"</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#blocking-of-robots">阻止机器人</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#host-deny">拒绝列表中的主机</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#referer-deflector">基于 Referer 的转向器</a></li>
+</ul><h3>参见</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">模块文档</a></li><li><a href="intro.html">mod_rewrite 简介</a></li><li><a href="remapping.html">重定向和重映射</a></li><li><a href="vhosts.html">虚拟主机</a></li><li><a href="proxy.html">代理</a></li><li><a href="rewritemap.html">使用 RewriteMap</a></li><li><a href="advanced.html">高级技术</a></li><li><a href="avoid.html">何时不使用 mod_rewrite</a></li><li><a href="#comments_section">评论</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="blocked-inline-images" id="blocked-inline-images">禁止图片"盗链"</a> <a title="Permanent link" href="#blocked-inline-images" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>以下技术禁止其他站点将你的图片内联到他们的页面中。
+ 这种做法通常被称为"盗链",会导致你的带宽被用来为他人的站点提供内容。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>此技术依赖于 <code>HTTP_REFERER</code> 变量的值,
+ 该变量是可选的。因此,某些人可能会绕过此限制。
+ 但是,大多数用户将会遇到请求失败的情况,
+ 随着时间推移,这应该会导致图片从其他站点上被移除。</p>
+ <p>有几种方法可以处理这种情况。</p>
+
+ <p>在第一个示例中,如果请求不是从我们站点上的页面发起的,
+ 我们只是简单地拒绝请求。在本示例中,
+ 我们假设我们的站点是 <code>www.example.com</code>。</p>
+
+
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "-" [F,NC]</pre>
+
+
+ <p>在第二个示例中,我们不是让请求失败,而是显示一个替代图片。</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "/images/go-away.png" [R,NC]</pre>
+
+
+ <p>在第三个示例中,我们将请求重定向到另一个站点上的图片。</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "http://other.example.com/image.gif" [R,NC]</pre>
+
+
+ <p>在这些技术中,后两种往往最能有效地阻止盗链行为,
+ 因为他们根本看不到预期的图片。</p>
+
+ </dd>
+
+ <dt>讨论:</dt>
+
+ <dd>
+ <p>如果你只想拒绝对资源的访问,而不是将请求重定向到其他地方,
+ 可以不使用 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 来实现:</p>
+
+ <pre class="prettyprint lang-config">SetEnvIf Referer example\.com localreferer
+<FilesMatch "\.(jpg|png|gif)$">
+ Require env localreferer
+</FilesMatch></pre>
+
+ </dd>
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="blocking-of-robots" id="blocking-of-robots">阻止机器人</a> <a title="Permanent link" href="#blocking-of-robots" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>在本配置方案中,我们讨论如何阻止来自特定机器人或用户代理的持续请求。</p>
+
+ <p>机器人排除标准定义了一个文件 <code>/robots.txt</code>,
+ 用于指定你网站中希望排除机器人访问的部分。但是,某些机器人不遵守这些文件。</p>
+
+ <p>请注意,有些方法可以在不使用 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 的情况下实现此目的。
+ 还要注意,任何依赖客户端 <code>USER_AGENT</code>
+ 字符串的技术都可以很容易地被绕过,因为该字符串可以被更改。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>我们使用一组规则来指定要保护的目录,
+ 以及标识恶意或持续机器人的客户端 <code>USER_AGENT</code>。</p>
+
+ <p>在本示例中,我们从位置 <code>/secret/files</code>
+ 阻止一个名为 <code>NameOfBadRobot</code> 的机器人。
+ 如果你只想从特定来源阻止该用户代理,
+ 也可以指定 IP 地址范围。</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_USER_AGENT}" "^NameOfBadRobot"
+RewriteCond "%{REMOTE_ADDR}" "=123\.45\.67\.[8-9]"
+RewriteRule "^/secret/files/" "-" [F]</pre>
+
+ </dd>
+
+ <dt>讨论:</dt>
+
+ <dd>
+ <p>
+ 你可以使用替代方法来实现相同的目的,而不必使用
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>,如下所示:
+ </p>
+ <pre class="prettyprint lang-config">SetEnvIfNoCase User-Agent ^NameOfBadRobot goaway
+<Location "/secret/files">
+ <RequireAll>
+ Require all granted
+ Require not env goaway
+ </RequireAll>
+</Location></pre>
+
+ <p>
+ 如上所述,这种技术很容易被绕过,只需修改
+ <code>USER_AGENT</code> 请求头即可。如果你遭受持续攻击,
+ 应考虑在更高层级(如防火墙)进行阻止。
+ </p>
+
+ </dd>
+
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="host-deny" id="host-deny">拒绝列表中的主机</a> <a title="Permanent link" href="#host-deny" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>我们希望维护一个主机列表,类似于 <code>hosts.deny</code>,
+ 并阻止这些主机访问我们的服务器。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap hosts-deny "txt:/path/to/hosts.deny"
+RewriteCond "${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}" "!=NOT-FOUND" [OR]
+RewriteCond "${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "-" [F]</pre>
+
+
+<div class="example"><p><code>
+##<br />
+## hosts.deny<br />
+##<br />
+## 注意!这是一个映射文件,不是列表,即使我们将其作为列表使用。<br />
+## mod_rewrite 将其解析为键/值对,因此每个条目<br />
+## 至少必须存在一个虚拟值 "-"。<br />
+##<br />
+<br />
+193.102.180.41 -<br />
+bsdti1.sdm.de -<br />
+192.76.162.40 -<br />
+</code></p></div>
+ </dd>
+
+ <dt>讨论:</dt>
+ <dd>
+ <p>
+ 第二个 RewriteCond 假设你已启用 HostNameLookups,
+ 以便客户端 IP 地址会被解析。如果未启用,
+ 你应该删除第二个 RewriteCond,并从第一个 RewriteCond 中删除
+ <code>[OR]</code> 标志。
+ </p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="referer-deflector" id="referer-deflector">基于 Referer 的转向器</a> <a title="Permanent link" href="#referer-deflector" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>根据请求来源的 Referer 重定向请求,
+ 对每个 Referer 使用不同的目标。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>以下规则集使用映射文件将每个 Referer 与重定向目标关联。</p>
+
+<pre class="prettyprint lang-config">RewriteMap deflector "txt:/path/to/deflector.map"
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}}" =-
+RewriteRule "^" "%{HTTP_REFERER}" [R,L]
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "${deflector:%{HTTP_REFERER}}" [R,L]</pre>
+
+
+ <p>映射文件列出了每个 referer 的重定向目标,
+ 或者如果我们只想重定向回他们的来源地,则在映射中放置 "-":</p>
+
+<pre class="prettyprint lang-config">##
+## deflector.map
+##
+
+http://badguys.example.com/bad/index.html -
+http://badguys.example.com/bad/index2.html -
+http://badguys.example.com/bad/index3.html http://somewhere.example.com/</pre>
+
+
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>可用语言: </span><a href="../de/rewrite/access.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/access.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/access.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/access.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/access.html" title="Simplified Chinese"> zh-cn </a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2026 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许可证.</p>
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
# GENERATED FROM XML -- DO NOT EDIT
+URI: advanced.html.de
+Content-Language: de
+Content-type: text/html; charset=ISO-8859-1
+
URI: advanced.html.en.utf8
Content-Language: en
Content-type: text/html; charset=UTF-8
+URI: advanced.html.es.utf8
+Content-Language: es
+Content-type: text/html; charset=UTF-8
+
URI: advanced.html.fr.utf8
Content-Language: fr
Content-type: text/html; charset=UTF-8
+
+URI: advanced.html.ja.utf8
+Content-Language: ja
+Content-type: text/html; charset=UTF-8
+
+URI: advanced.html.ko.euc-kr
+Content-Language: ko
+Content-type: text/html; charset=EUC-KR
+
+URI: advanced.html.tr.utf8
+Content-Language: tr
+Content-type: text/html; charset=UTF-8
+
+URI: advanced.html.zh-cn.utf8
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!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="de" xml:lang="de"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Fortgeschrittene Techniken mit mod_rewrite - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Fortgeschrittene Techniken mit mod_rewrite</h1>
+<div class="toplang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/advanced.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>Dieses Dokument ergänzt die <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">Referenzdokumentation</a>. Es bietet
+einige fortgeschrittene Techniken zur Verwendung von <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+
+
+
+<div class="warning">Beachten Sie, dass viele dieser Beispiele nicht unverändert in Ihrer
+speziellen Serverkonfiguration funktionieren werden. Es ist daher wichtig, dass Sie
+sie verstehen, anstatt die Beispiele einfach auszuschneiden und in Ihre
+Konfiguration einzufügen.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#sharding">URL-basiertes Sharding über mehrere Backends</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#on-the-fly-content">Dynamische Inhaltsregenerierung</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#load-balancing">Lastverteilung</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#structuredhomedirs">Strukturierte Benutzerverzeichnisse</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#redirectanchors">Umleitung von Ankern</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#time-dependent">Zeitabhängiges Umschreiben</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenvvars">Umgebungsvariablen basierend auf URL-Teilen setzen</a></li>
+</ul><h3>Siehe auch</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Moduldokumentation</a></li><li><a href="intro.html">Einführung in mod_rewrite</a></li><li><a href="remapping.html">Umleitung und Neuzuordnung</a></li><li><a href="access.html">Zugriffskontrolle</a></li><li><a href="vhosts.html">Virtuelle Hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Verwendung von RewriteMap</a></li><li><a href="avoid.html">Wann man mod_rewrite nicht verwenden sollte</a></li><li><a href="#comments_section">Kommentare</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="sharding" id="sharding">URL-basiertes Sharding über mehrere Backends</a> <a title="Permanent link" href="#sharding" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Eine gängige Technik zur Verteilung der Serverlast oder des
+ Speicherplatzes wird als "Sharding" bezeichnet.
+ Bei Verwendung dieser Methode verwendet ein Frontend-Server die
+ URL, um Benutzer oder Objekte konsistent auf separate
+ Backend-Server zu "verteilen".</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Eine Zuordnung von Benutzern zu Zielservern wird in externen
+ Map-Dateien gepflegt. Diese sehen wie folgt aus:</p>
+
+<div class="example"><p><code>
+user1 physical_host_of_user1<br />
+user2 physical_host_of_user2<br />
+# ... und so weiter
+</code></p></div>
+
+ <p>Wir legen dies in eine <code>map.users-to-hosts</code>-Datei. Das
+ Ziel ist es, folgende Zuordnung vorzunehmen:</p>
+
+<div class="example"><p><code>
+/u/user1/anypath
+</code></p></div>
+
+ <p>zu</p>
+
+<div class="example"><p><code>
+http://physical_host_of_user1/u/user/anypath
+</code></p></div>
+
+ <p>Somit muss nicht jeder URL-Pfad auf jedem physischen Backend-Host
+ gültig sein. Der folgende Regelsatz erledigt dies für uns mit Hilfe der
+ Map-Dateien, wobei server0 ein Standardserver ist, der verwendet wird,
+ wenn ein Benutzer keinen Eintrag in der Map hat:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap users-to-hosts "txt:/path/to/map.users-to-hosts"
+RewriteRule "^/u/([^/]+)/?(.*)" "http://${users-to-hosts:$1|server0}/u/$1/$2"</pre>
+
+ </dd>
+ </dl>
+
+ <p>Siehe die <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>-Dokumentation
+ und das <a href="./rewritemap.html">RewriteMap-HowTo</a>
+ für weitere Informationen zur Syntax dieser Direktive.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="on-the-fly-content" id="on-the-fly-content">Dynamische Inhaltsregenerierung</a> <a title="Permanent link" href="#on-the-fly-content" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Wir möchten Inhalte dynamisch generieren, sie aber statisch
+ speichern, sobald sie einmal generiert wurden. Diese Regel prüft,
+ ob die statische Datei vorhanden ist, und generiert sie, falls
+ nicht. Die statischen Dateien können bei Bedarf regelmäßig
+ entfernt werden (z.B. per Cron) und werden bei Bedarf neu
+ generiert.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ Dies wird durch den folgenden Regelsatz erreicht:
+
+<pre class="prettyprint lang-config"># This example is valid in per-directory context only
+RewriteCond "%{REQUEST_URI}" !-U
+RewriteRule "^(.+)\.html$" "/regenerate_page.cgi" [PT,L]</pre>
+
+
+ <p>Der <code>-U</code>-Operator prüft, ob der Teststring
+ (in diesem Fall <code>REQUEST_URI</code>) eine gültige URL ist. Er
+ macht dies über eine Unteranfrage. Falls diese Unteranfrage fehlschlägt -
+ das heißt, die angeforderte Ressource existiert nicht - ruft diese
+ Regel das CGI-Programm <code>/regenerate_page.cgi</code> auf, das
+ die angeforderte Ressource generiert und im Dokumentenverzeichnis
+ speichert, sodass beim nächsten Aufruf eine statische Kopie
+ ausgeliefert werden kann.</p>
+
+ <p>Auf diese Weise können Dokumente, die selten aktualisiert werden, in
+ statischer Form ausgeliefert werden. Wenn Dokumente aktualisiert werden
+ müssen, können sie aus dem Dokumentenverzeichnis gelöscht werden, und sie
+ werden dann beim nächsten Aufruf erneut generiert.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="load-balancing" id="load-balancing">Lastverteilung</a> <a title="Permanent link" href="#load-balancing" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Wir möchten die Last zufällig auf mehrere Server verteilen,
+ indem wir <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> verwenden.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Wir verwenden <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> und eine Serverliste,
+ um dies zu erreichen.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap lb "rnd:/path/to/serverlist.txt"
+RewriteRule "^/(.*)" "http://${lb:servers}/$1" [P,L]</pre>
+
+
+<p><code>serverlist.txt</code> enthält eine Liste der Server:</p>
+
+<div class="example"><p><code>
+## serverlist.txt<br />
+<br />
+servers one.example.com|two.example.com|three.example.com<br />
+</code></p></div>
+
+<p>Wenn Sie möchten, dass ein bestimmter Server mehr Last als die
+anderen erhält, fügen Sie ihn mehrmals zur Liste hinzu.</p>
+
+ </dd>
+
+ <dt>Diskussion</dt>
+ <dd>
+<p>Apache wird mit einem Lastverteilungsmodul ausgeliefert -
+<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> - das wesentlich flexibler und
+funktionsreicher ist als alles, was Sie mit <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+zusammenstellen können.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="structuredhomedirs" id="structuredhomedirs">Strukturierte Benutzerverzeichnisse</a> <a title="Permanent link" href="#structuredhomedirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Einige Websites mit Tausenden von Benutzern verwenden ein
+ strukturiertes Heimatverzeichnis-Layout, <em>d.h.</em> jedes
+ Heimatverzeichnis befindet sich in einem Unterverzeichnis, das
+ (beispielsweise) mit dem ersten Zeichen des Benutzernamens beginnt.
+ So ist <code>/~larry/anypath</code> gleich
+ <code>/home/<strong>l</strong>/larry/public_html/anypath</code>,
+ während <code>/~waldo/anypath</code> gleich
+ <code>/home/<strong>w</strong>/waldo/public_html/anypath</code> ist.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Wir verwenden den folgenden Regelsatz, um die Tilde-URLs
+ in das obige Layout umzusetzen.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*)" "/home/<strong>$2</strong>/$1/public_html$3"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="redirectanchors" id="redirectanchors">Umleitung von Ankern</a> <a title="Permanent link" href="#redirectanchors" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Standardmäßig funktioniert die Umleitung zu einem HTML-Anker nicht,
+ da <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> das <code>#</code>-Zeichen maskiert und
+ es in <code>%23</code> umwandelt. Dies wiederum unterbricht die
+ Umleitung.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Verwenden Sie das <code>[NE]</code>-Flag in der
+ <code>RewriteRule</code>. NE steht für No Escape (Nicht maskieren).
+ </p>
+ </dd>
+
+ <dt>Diskussion:</dt>
+ <dd>Diese Technik funktioniert natürlich auch mit anderen
+ Sonderzeichen, die <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> standardmäßig URL-kodiert.</dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="time-dependent" id="time-dependent">Zeitabhängiges Umschreiben</a> <a title="Permanent link" href="#time-dependent" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Wir möchten <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> verwenden, um je nach Tageszeit
+ unterschiedliche Inhalte auszuliefern.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Es gibt viele Variablen namens <code>TIME_xxx</code>
+ für Rewrite-Bedingungen. In Verbindung mit den speziellen
+ lexikographischen Vergleichsmustern <code><STRING</code>,
+ <code>>STRING</code> und <code>=STRING</code> können wir
+ zeitabhängige Umleitungen durchführen:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" >0700
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" <1900
+RewriteRule "^foo\.html$" "foo.day.html" [L]
+RewriteRule "^foo\.html$" "foo.night.html"</pre>
+
+
+ <p>Dies liefert den Inhalt von <code>foo.day.html</code>
+ unter der URL <code>foo.html</code> von
+ <code>07:01-18:59</code> und zur restlichen Zeit den
+ Inhalt von <code>foo.night.html</code>.</p>
+
+ <div class="warning"><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>, Zwischenproxys
+ und Browser können jeweils Antworten zwischenspeichern und dazu
+ führen, dass eine der beiden Seiten außerhalb des konfigurierten
+ Zeitfensters angezeigt wird.
+ <code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code> kann verwendet werden, um diesen
+ Effekt zu kontrollieren. Es ist natürlich viel besser, die
+ Inhalte einfach dynamisch auszuliefern und basierend auf der
+ Tageszeit anzupassen.</div>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="setenvvars" id="setenvvars">Umgebungsvariablen basierend auf URL-Teilen setzen</a> <a title="Permanent link" href="#setenvvars" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Manchmal möchten wir eine Art Status beibehalten, wenn wir
+ ein Umschreiben durchführen. Beispielsweise möchten Sie sich
+ merken, dass dieses Umschreiben stattgefunden hat, damit Sie
+ später prüfen können, ob eine Anfrage über dieses Umschreiben
+ kam. Eine Möglichkeit dafür ist das Setzen einer
+ Umgebungsvariable.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Verwenden Sie das [E]-Flag, um eine Umgebungsvariable zu setzen.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/horse/(.*)" "/pony/$1" [E=<strong>rewritten:1</strong>]</pre>
+
+
+ <p>Später in Ihrem Regelsatz können Sie diese Umgebungsvariable
+ mit einer RewriteCond prüfen:</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{ENV:rewritten}" =1</pre>
+
+
+ <p>Beachten Sie, dass Umgebungsvariablen eine externe Umleitung nicht
+ überleben. Sie könnten stattdessen das [CO]-Flag verwenden, um ein
+ Cookie zu setzen. Für Verzeichniskontext- und htaccess-Umschreibungen,
+ bei denen die endgültige Ersetzung als interne Umleitung verarbeitet
+ wird, werden Umgebungsvariablen aus der vorherigen Runde des
+ Umschreibens mit dem Präfix "REDIRECT_" versehen.</p>
+
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/advanced.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.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 />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Advanced Techniques with mod_rewrite</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/advanced.html" title="English"> en </a> |
-<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/advanced.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
</div></div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/advanced.html" title="English"> en </a> |
-<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/advanced.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="es" xml:lang="es"><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>Técnicas avanzadas con mod_rewrite - Servidor HTTP Apache Versión 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p>
+<p class="apache">Versión 2.5 del Servidor HTTP Apache</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/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Técnicas avanzadas con mod_rewrite</h1>
+<div class="toplang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/advanced.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>Este documento complementa la <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">documentación de referencia</a>. Proporciona
+algunas técnicas avanzadas usando <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+
+
+
+<div class="warning">Tenga en cuenta que muchos de estos ejemplos no funcionarán sin cambios en su
+configuración particular del servidor, por lo que es importante que los
+entienda, en lugar de simplemente copiar y pegar los ejemplos en su
+configuración.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#sharding">Fragmentación basada en URL entre múltiples backends</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#on-the-fly-content">Regeneración de Contenido sobre la marcha</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#load-balancing">Balanceo de Carga</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#structuredhomedirs">Directorios de Usuario Estructurados</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#redirectanchors">Redireccionando Anclas</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#time-dependent">Reescritura Dependiente del Tiempo</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenvvars">Establecer Variables de Entorno Basadas en Partes de la URL</a></li>
+</ul><h3>Consulte también</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentación del módulo</a></li><li><a href="intro.html">Introducción a mod_rewrite</a></li><li><a href="remapping.html">Redirección y remapeo</a></li><li><a href="access.html">Control de acceso</a></li><li><a href="vhosts.html">Hosts virtuales</a></li><li><a href="proxy.html">Proxy</a></li><li><a href="rewritemap.html">Uso de RewriteMap</a></li><li><a href="avoid.html">Cuándo no usar mod_rewrite</a></li><li><a href="#comments_section">Comentarios</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="sharding" id="sharding">Fragmentación basada en URL entre múltiples backends</a> <a title="Enlace permanente" href="#sharding" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>Una técnica común para distribuir la carga del
+ servidor o el espacio de almacenamiento se llama "fragmentación" (sharding).
+ Al usar este método, un servidor front-end usará la
+ URL para "fragmentar" consistentemente usuarios u objetos a servidores
+ backend separados.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Se mantiene un mapeo, de usuarios a servidores destino, en
+ archivos de mapa externos. Tienen este aspecto:</p>
+
+<div class="example"><p><code>
+user1 physical_host_of_user1<br />
+user2 physical_host_of_user2<br />
+# ... y así sucesivamente
+</code></p></div>
+
+ <p>Colocamos esto en un archivo <code>map.users-to-hosts</code>. El
+ objetivo es mapear;</p>
+
+<div class="example"><p><code>
+/u/user1/anypath
+</code></p></div>
+
+ <p>a</p>
+
+<div class="example"><p><code>
+http://physical_host_of_user1/u/user/anypath
+</code></p></div>
+
+ <p>por lo que no es necesario que cada ruta URL sea válida en cada host físico
+ backend. El siguiente conjunto de reglas hace esto por nosotros con la ayuda de los
+ archivos de mapa, asumiendo que server0 es un servidor predeterminado que se usará si
+ un usuario no tiene entrada en el mapa:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap users-to-hosts "txt:/path/to/map.users-to-hosts"
+RewriteRule "^/u/([^/]+)/?(.*)" "http://${users-to-hosts:$1|server0}/u/$1/$2"</pre>
+
+ </dd>
+ </dl>
+
+ <p>Consulte la documentación de la directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ y el <a href="./rewritemap.html">Cómo usar RewriteMap</a>
+ para más discusión de la sintaxis de esta directiva.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="on-the-fly-content" id="on-the-fly-content">Regeneración de Contenido sobre la marcha</a> <a title="Enlace permanente" href="#on-the-fly-content" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>Deseamos generar contenido dinámicamente, pero almacenarlo
+ estáticamente una vez que se ha generado. Esta regla verificará la
+ existencia del archivo estático, y si no está allí, lo generará.
+ Los archivos estáticos pueden eliminarse periódicamente, si se desea (digamos,
+ mediante cron) y se regenerarán bajo demanda.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ Esto se hace mediante el siguiente conjunto de reglas:
+
+<pre class="prettyprint lang-config"># This example is valid in per-directory context only
+RewriteCond "%{REQUEST_URI}" !-U
+RewriteRule "^(.+)\.html$" "/regenerate_page.cgi" [PT,L]</pre>
+
+
+ <p>El operador <code>-U</code> determina si la cadena de prueba
+ (en este caso, <code>REQUEST_URI</code>) es una URL válida. Lo hace
+ mediante una sub-solicitud. En el caso de que esta sub-solicitud falle -
+ es decir, el recurso solicitado no existe - esta regla invoca
+ el programa CGI <code>/regenerate_page.cgi</code>, que genera
+ el recurso solicitado y lo guarda en el directorio de documentos, de modo
+ que la próxima vez que se solicite, se pueda servir una copia estática.</p>
+
+ <p>De esta manera, documentos que se actualizan con poca frecuencia pueden servirse en
+ forma estática. Si los documentos necesitan actualizarse, pueden eliminarse
+ del directorio de documentos, y se regenerarán la
+ próxima vez que se soliciten.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="load-balancing" id="load-balancing">Balanceo de Carga</a> <a title="Enlace permanente" href="#load-balancing" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>Deseamos distribuir aleatoriamente la carga entre varios servidores
+ usando <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Usaremos <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> y una lista de servidores
+ para lograr esto.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap lb "rnd:/path/to/serverlist.txt"
+RewriteRule "^/(.*)" "http://${lb:servers}/$1" [P,L]</pre>
+
+
+<p><code>serverlist.txt</code> contendrá una lista de los servidores:</p>
+
+<div class="example"><p><code>
+## serverlist.txt<br />
+<br />
+servers one.example.com|two.example.com|three.example.com<br />
+</code></p></div>
+
+<p>Si desea que un servidor particular reciba más carga que los
+otros, agreguelo más veces a la lista.</p>
+
+ </dd>
+
+ <dt>Discusión</dt>
+ <dd>
+<p>Apache viene con un módulo de balanceo de carga -
+<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> - que es mucho más flexible y
+con más funcionalidades que cualquier cosa que pueda construir usando <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="structuredhomedirs" id="structuredhomedirs">Directorios de Usuario Estructurados</a> <a title="Enlace permanente" href="#structuredhomedirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>Algunos sitios con miles de usuarios usan una
+ disposición de directorio personal estructurada, <em>es decir,</em> cada directorio personal está en un
+ subdirectorio que comienza (por ejemplo) con el primer
+ carácter del nombre de usuario. Así, <code>/~larry/anypath</code>
+ es <code>/home/<strong>l</strong>/larry/public_html/anypath</code>
+ mientras que <code>/~waldo/anypath</code> es
+ <code>/home/<strong>w</strong>/waldo/public_html/anypath</code>.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Usamos el siguiente conjunto de reglas para expandir las URLs de tilde
+ a la disposición anterior.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*)" "/home/<strong>$2</strong>/$1/public_html$3"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="redirectanchors" id="redirectanchors">Redireccionando Anclas</a> <a title="Enlace permanente" href="#redirectanchors" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>Por defecto, redirigir a un ancla HTML no funciona,
+ porque <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> escapa el carácter <code>#</code>,
+ convirtiéndolo en <code>%23</code>. Esto, a su vez, rompe la
+ redirección.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Use la bandera <code>[NE]</code> en la
+ <code>RewriteRule</code>. NE significa No Escapar.
+ </p>
+ </dd>
+
+ <dt>Discusión:</dt>
+ <dd>Esta técnica por supuesto también funcionará con otros
+ caracteres especiales que <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, por defecto, codifica en URL.</dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="time-dependent" id="time-dependent">Reescritura Dependiente del Tiempo</a> <a title="Enlace permanente" href="#time-dependent" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>Deseamos usar <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> para servir contenido diferente basado en
+ la hora del día.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Hay muchas variables llamadas <code>TIME_xxx</code>
+ para condiciones de reescritura. En conjunto con los patrones
+ especiales de comparación lexicográfica <code><STRING</code>,
+ <code>>STRING</code> y <code>=STRING</code> podemos
+ hacer redirecciones dependientes del tiempo:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" >0700
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" <1900
+RewriteRule "^foo\.html$" "foo.day.html" [L]
+RewriteRule "^foo\.html$" "foo.night.html"</pre>
+
+
+ <p>Esto proporciona el contenido de <code>foo.day.html</code>
+ bajo la URL <code>foo.html</code> de
+ <code>07:01-18:59</code> y en el tiempo restante el
+ contenido de <code>foo.night.html</code>.</p>
+
+ <div class="warning"><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>, proxies intermedios
+ y navegadores pueden cada uno almacenar en caché las respuestas y causar que cualquiera de las páginas se
+ muestre fuera de la ventana de tiempo configurada.
+ Se puede usar <code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code> para controlar este
+ efecto. Por supuesto, es mucho mejor simplemente servir el
+ contenido dinámicamente y personalizarlo basándose en la hora del día.</div>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="setenvvars" id="setenvvars">Establecer Variables de Entorno Basadas en Partes de la URL</a> <a title="Enlace permanente" href="#setenvvars" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>A veces, queremos mantener algún tipo de estado cuando
+ realizamos una reescritura. Por ejemplo, desea tomar nota de que
+ ha realizado esa reescritura, para poder verificar más tarde si una
+ solicitud llegó a través de esa reescritura. Una forma de hacer esto es estableciendo una
+ variable de entorno.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Use la bandera [E] para establecer una variable de entorno.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/horse/(.*)" "/pony/$1" [E=<strong>rewritten:1</strong>]</pre>
+
+
+ <p>Más adelante en su conjunto de reglas puede verificar esta variable
+ de entorno usando una RewriteCond:</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{ENV:rewritten}" =1</pre>
+
+
+ <p>Tenga en cuenta que las variables de entorno no sobreviven a una
+ redirección externa. Podría considerar usar la bandera [CO] para establecer una
+ cookie. Para reescrituras en contexto per-directorio y htaccess, donde la sustitución
+ final se procesa como una redirección interna, las variables
+ de entorno de la ronda anterior de reescritura se prefijan con
+ "REDIRECT_". </p>
+
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/advanced.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.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 />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Techniques avancées avec mod_rewrite</h1>
<div class="toplang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/advanced.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/advanced.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
</div></div>
<div class="bottomlang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/advanced.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/advanced.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.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 />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="ja" xml:lang="ja"><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>mod_rewrite の高度なテクニック - Apache HTTP サーバ バージョン 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
+<p class="apache">Apache HTTP サーバ バージョン 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite の高度なテクニック</h1>
+<div class="toplang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/advanced.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>このドキュメントは <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">リファレンスドキュメント</a>を補足するものです。
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を使用したいくつかの高度なテクニックを提供します。</p>
+
+
+
+<div class="warning">これらの例の多くは、特定のサーバ設定ではそのまま
+動作しないことに注意してください。そのため、単にコピー&ペーストするのではなく、
+内容を理解することが重要です。</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#sharding">URL ベースの複数バックエンドへのシャーディング</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#on-the-fly-content">オンザフライのコンテンツ再生成</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#load-balancing">ロードバランシング</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#structuredhomedirs">構造化ユーザディレクトリ</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#redirectanchors">アンカーのリダイレクト</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#time-dependent">時間に依存する書き換え</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenvvars">URL の部分に基づく環境変数の設定</a></li>
+</ul><h3>参照</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">モジュールドキュメント</a></li><li><a href="intro.html">mod_rewrite 入門</a></li><li><a href="remapping.html">リダイレクトとリマッピング</a></li><li><a href="access.html">アクセス制御</a></li><li><a href="vhosts.html">バーチャルホスト</a></li><li><a href="proxy.html">プロキシ</a></li><li><a href="rewritemap.html">RewriteMap の使用</a></li><li><a href="avoid.html">mod_rewrite を使わない場合</a></li><li><a href="#comments_section">コメント</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="sharding" id="sharding">URL ベースの複数バックエンドへのシャーディング</a> <a title="Permanent link" href="#sharding" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>サーバ負荷やストレージスペースの負担を分散するための
+ 一般的なテクニックは「シャーディング」と呼ばれます。
+ この方法を使用すると、フロントエンドサーバは URL を使用して
+ ユーザやオブジェクトを別々のバックエンドサーバに一貫して
+ 「シャード」します。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>ユーザからターゲットサーバへのマッピングが外部マップファイルに
+ 保持されています。次のような形式です:</p>
+
+<div class="example"><p><code>
+user1 physical_host_of_user1<br />
+user2 physical_host_of_user2<br />
+# ... 以下同様
+</code></p></div>
+
+ <p>これを <code>map.users-to-hosts</code> ファイルに入れます。目的は
+ 以下をマッピングすることです:</p>
+
+<div class="example"><p><code>
+/u/user1/anypath
+</code></p></div>
+
+ <p>を以下にマッピング:</p>
+
+<div class="example"><p><code>
+http://physical_host_of_user1/u/user/anypath
+</code></p></div>
+
+ <p>このようにすると、すべての URL パスがすべてのバックエンド物理
+ ホストで有効である必要はありません。以下のルールセットは、
+ マップファイルの助けを借りてこれを実現します。server0 は、
+ ユーザがマップにエントリを持たない場合に使用されるデフォルト
+ サーバとして想定しています:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap users-to-hosts "txt:/path/to/map.users-to-hosts"
+RewriteRule "^/u/([^/]+)/?(.*)" "http://${users-to-hosts:$1|server0}/u/$1/$2"</pre>
+
+ </dd>
+ </dl>
+
+ <p>このディレクティブの構文の詳細については、
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ ドキュメントと <a href="./rewritemap.html">RewriteMap ハウツー</a>
+ を参照してください。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="on-the-fly-content" id="on-the-fly-content">オンザフライのコンテンツ再生成</a> <a title="Permanent link" href="#on-the-fly-content" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>コンテンツを動的に生成したいが、一度生成したら静的に
+ 保存したいとします。このルールは静的ファイルの存在を確認し、
+ 存在しない場合は生成します。静的ファイルは必要に応じて
+ (例えば cron で) 定期的に削除でき、要求に応じて再生成
+ されます。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ これは以下のルールセットで実現されます:
+
+<pre class="prettyprint lang-config"># This example is valid in per-directory context only
+RewriteCond "%{REQUEST_URI}" !-U
+RewriteRule "^(.+)\.html$" "/regenerate_page.cgi" [PT,L]</pre>
+
+
+ <p><code>-U</code> 演算子は、テスト文字列 (この場合は
+ <code>REQUEST_URI</code>) が有効な URL かどうかを判定します。
+ これはサブリクエストを通じて行われます。このサブリクエストが
+ 失敗した場合、つまりリクエストされたリソースが存在しない場合、
+ このルールは CGI プログラム <code>/regenerate_page.cgi</code>
+ を呼び出し、リクエストされたリソースを生成してドキュメント
+ ディレクトリに保存します。これにより、次回リクエストされたときに
+ 静的コピーを提供できます。</p>
+
+ <p>このようにして、更新頻度の低いドキュメントを静的形式で
+ 提供できます。ドキュメントを更新する必要がある場合は、
+ ドキュメントディレクトリから削除すれば、次回リクエストされたときに
+ 再生成されます。</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="load-balancing" id="load-balancing">ロードバランシング</a> <a title="Permanent link" href="#load-balancing" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を使用して、複数のサーバに
+ ランダムに負荷を分散したいとします。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>これを実現するために <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> とサーバの
+ リストを使用します。</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap lb "rnd:/path/to/serverlist.txt"
+RewriteRule "^/(.*)" "http://${lb:servers}/$1" [P,L]</pre>
+
+
+<p><code>serverlist.txt</code> にはサーバのリストが含まれます:</p>
+
+<div class="example"><p><code>
+## serverlist.txt<br />
+<br />
+servers one.example.com|two.example.com|three.example.com<br />
+</code></p></div>
+
+<p>特定のサーバにより多くの負荷を割り当てたい場合は、
+リストにそのサーバを複数回追加してください。</p>
+
+ </dd>
+
+ <dt>議論</dt>
+ <dd>
+<p>Apache にはロードバランシングモジュール -
+<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> - が付属しており、
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> で構築できるものよりもはるかに柔軟で
+機能豊富です。</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="structuredhomedirs" id="structuredhomedirs">構造化ユーザディレクトリ</a> <a title="Permanent link" href="#structuredhomedirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>数千人のユーザを持つサイトの中には、構造化されたホームディレクトリ
+ レイアウトを使用するものがあります。<em>つまり</em>、各ホームディレクトリは
+ ユーザ名の最初の文字で始まるサブディレクトリにあります。例えば、
+ <code>/~larry/anypath</code> は
+ <code>/home/<strong>l</strong>/larry/public_html/anypath</code>
+ であり、<code>/~waldo/anypath</code> は
+ <code>/home/<strong>w</strong>/waldo/public_html/anypath</code>
+ です。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>上記のレイアウトにチルダ URL を展開するために、以下のルールセットを
+ 使用します。</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*)" "/home/<strong>$2</strong>/$1/public_html$3"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="redirectanchors" id="redirectanchors">アンカーのリダイレクト</a> <a title="Permanent link" href="#redirectanchors" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>デフォルトでは、HTML アンカーへのリダイレクトは機能しません。
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> が <code>#</code> 文字をエスケープして
+ <code>%23</code> に変換するためです。これによりリダイレクトが
+ 壊れます。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p><code>RewriteRule</code> で <code>[NE]</code> フラグを
+ 使用します。NE は No Escape (エスケープしない) の略です。
+ </p>
+ </dd>
+
+ <dt>議論:</dt>
+ <dd>このテクニックは、<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> がデフォルトで
+ URL エンコードする他の特殊文字にも適用できます。</dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="time-dependent" id="time-dependent">時間に依存する書き換え</a> <a title="Permanent link" href="#time-dependent" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を使用して、時間帯に基づいて
+ 異なるコンテンツを提供したいとします。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>書き換え条件に使用できる <code>TIME_xxx</code> という名前の
+ 変数が多数あります。特殊な辞書順比較パターン
+ <code><STRING</code>、<code>>STRING</code>、
+ <code>=STRING</code> と組み合わせることで、時間に依存する
+ リダイレクトを行えます:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" >0700
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" <1900
+RewriteRule "^foo\.html$" "foo.day.html" [L]
+RewriteRule "^foo\.html$" "foo.night.html"</pre>
+
+
+ <p>これにより、URL <code>foo.html</code> で
+ <code>07:01-18:59</code> の間は <code>foo.day.html</code> の
+ コンテンツを、残りの時間帯は <code>foo.night.html</code> の
+ コンテンツを提供します。</p>
+
+ <div class="warning"><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>、中間プロキシ、
+ およびブラウザはそれぞれレスポンスをキャッシュし、設定された
+ 時間枠外にいずれかのページが表示される可能性があります。
+ <code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code> を使用してこの影響を制御できます。
+ もちろん、コンテンツを動的に提供し、時間帯に基づいて
+ カスタマイズする方がはるかに良いでしょう。</div>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="setenvvars" id="setenvvars">URL の部分に基づく環境変数の設定</a> <a title="Permanent link" href="#setenvvars" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>書き換えを実行する際に何らかの状態を維持したい場合が
+ あります。例えば、書き換えを行ったことをメモし、後でリクエストが
+ その書き換えを経由したかどうかを確認したいとします。これを行う
+ 1 つの方法は、環境変数を設定することです。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>[E] フラグを使用して環境変数を設定します。</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/horse/(.*)" "/pony/$1" [E=<strong>rewritten:1</strong>]</pre>
+
+
+ <p>後のルールセットで RewriteCond を使用してこの環境変数を
+ 確認できます:</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{ENV:rewritten}" =1</pre>
+
+
+ <p>環境変数は外部リダイレクトでは保持されないことに注意
+ してください。[CO] フラグを使用して cookie を設定することを
+ 検討するとよいでしょう。ディレクトリ単位および htaccess の
+ 書き換えでは、最終的な置換が内部リダイレクトとして処理されるため、
+ 前回の書き換えラウンドの環境変数には "REDIRECT_" がプレフィックスとして
+ 付きます。</p>
+
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/advanced.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.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="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="EUC-KR"?>
+<!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="ko" xml:lang="ko"><head>
+<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_rewrite �� 기� - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite �� 기�</h1>
+<div class="toplang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/advanced.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>�� 문��� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">참조 문ì��</a>ë¥� ë³´ì¶©�©ë����.
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥� �¬ì�©í�� ëª� ê°�ì§� ê³�ê¸� 기ì����
+��공����.</p>
+
+<div class="warning">�� ������ ì¤� ë§��� ê²��� �¹ì�� ��ë²� �¤ì������
+ê·¸ë��ë¡� ������ì§� ���� �� ���¼ë��ë¡�, �¨ì���� ����ë¥� ë³µì�¬í����
+�¤ì���� ë¶��¬ë�£ê¸°ë³´ë�¤ë�� �´í�´í���� ê²��� ì¤����©ë����.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#sharding">�¬ë�� ë°±ì������ ���� URL 기ë� �¤ë��</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#on-the-fly-content">�¤ì��ê°� ì½���ì¸� �¬ì����</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#load-balancing">��� ���</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#structuredhomedirs">구조���� �¬ì�©ì�� ������ë¦�</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#redirectanchors">�µì»¤ 리ë�¤ì�´ë����</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#time-dependent">��ê°� 기ë� �¬ì����</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenvvars">URL ë¶�ë¶��� �°ë¥¸ ��ê²� ë³��� �¤ì��</a></li>
+</ul><h3>Âü°í</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">모ë�� 문ì��</a></li><li><a href="intro.html">mod_rewrite ��ê°�</a></li><li><a href="remapping.html">리ë�¤ì�´ë����ê³� �¬ë§¤��</a></li><li><a href="access.html">��ê·� ����</a></li><li><a href="vhosts.html">ê°��� �¸ì�¤í��</a></li><li><a href="proxy.html">��ë¡���</a></li><li><a href="rewritemap.html">RewriteMap �¬ì�©í��ê¸�</a></li><li><a href="avoid.html">mod_rewriteë¥� �¬ì�©í��ì§� ë§����� �� ê²½ì��</a></li><li><a href="#comments_section">Comments</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="sharding" id="sharding">�¬ë�� ë°±ì������ ���� URL 기ë� �¤ë��</a> <a title="Permanent link" href="#sharding" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>��ë²� ë¶����� ���� ê³µê��� ë¶��°í���� �¼ë����� 기ì����
+ "�¤ë��"�´ë�¼ê� �©ë����. �� ë°©ë��� �¬ì�©í�� �� ��ë¡��¸ì����
+ ��ë²��� URL�� �¬ì�©í���� �¬ì�©ì�� ���� ê°�ì²´ë�� ë³�����
+ ë°±ì���� ��ë²��� �¼ê���ê²� "�¤ë��"�©ë����.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>�¬ì�©ì������ ���� ��ë²�ë¡��� 매í���� �¸ë� ë§� ���¼ì��
+ ��ì§��©ë����. �¤ì��ê³� ê°��� ����������:</p>
+
+<div class="example"><p><code>
+user1 physical_host_of_user1<br />
+user2 physical_host_of_user2<br />
+# ... �±ë��
+</code></p></div>
+
+ <p>�´ê��� <code>map.users-to-hosts</code> ���¼ì�� �£ì�µë����.
+ 목ì���� �¤ì���� 매í������ ê²�������;</p>
+
+<div class="example"><p><code>
+/u/user1/anypath
+</code></p></div>
+
+ <p>���� ê²��� �¤ì���¼ë�:</p>
+
+<div class="example"><p><code>
+http://physical_host_of_user1/u/user/anypath
+</code></p></div>
+
+ <p>�°ë�¼ì�� 모ë�� URL ê²½ë�ê°� 모ë�� ë°±ì���� 물리�� �¸ì�¤í�¸ì����
+ ���¨í�� ����ê°� ���µë����. �¤ì�� ê·�ì¹� �¸í�¸ë�� ë§� ���¼ì��
+ �����¼ë� �´ë�� ������ë©�, �¬ì�©ì��ê°� ë§µì�� ��목ì�� ����
+ ê²½ì�� server0�� 기본 ��ë²�ë¡� �¬ì�©ë�©ë����:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap users-to-hosts "txt:/path/to/map.users-to-hosts"
+RewriteRule "^/u/([^/]+)/?(.*)" "http://${users-to-hosts:$1|server0}/u/$1/$2"</pre>
+
+ </dd>
+ </dl>
+
+ <p>�� ì§����´ì�� 구문�� ���� ���¸í�� �´ì�©ì��
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ 문ì���� <a href="./rewritemap.html">RewriteMap �¬ì�©ë�</a>��
+ 참조��������.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="on-the-fly-content" id="on-the-fly-content">�¤ì��ê°� ì½���ì¸� �¬ì����</a> <a title="Permanent link" href="#on-the-fly-content" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>ì½���ì¸�ë¥� �����¼ë� ���±í����, �� ë²� ���±ë��ë©�
+ �����¼ë� ���¥í��ê³��� �©ë����. �� ê·�ì¹��� ���� ���¼ì��
+ ì¡´ì�¬ë�� ���¸í��ê³�, ���¼ë©´ ���±í�©ë����. ���� ���¼ì��
+ ������ ê²½ì�� (��ë¥� �¤ì�� cron�� �µí��) 주기���¼ë�
+ ��ê±°í�� �� ���¼ë©°, ������ �°ë�� �¬ì���±ë�©ë����.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ �´ë�� �¤ì�� ê·�ì¹� �¸í�¸ë� �����©ë����:
+
+<pre class="prettyprint lang-config"># This example is valid in per-directory context only
+RewriteCond "%{REQUEST_URI}" !-U
+RewriteRule "^(.+)\.html$" "/regenerate_page.cgi" [PT,L]</pre>
+
+
+ <p><code>-U</code> �°ì�°ì���� ���¤í�� 문ì����(�� ê²½ì��
+ <code>REQUEST_URI</code>)�� ���¨í�� URL�¸ì�
+ ���¨í�©ë����. �´ë�� ��ë¸���ì²��� �µí�� �����©ë����.
+ �� ��ë¸���ì²��� �¤í�¨í��ë©� - ì¦�, ��ì²��� ������ ì¡´ì�¬í��ì§�
+ ���¼ë©´ - �� ê·�ì¹��� CGI ��ë¡�ê·¸ë��
+ <code>/regenerate_page.cgi</code>ë¥� �¸ì�����
+ ��ì²��� ������ ���±í��ê³� 문ì�� ������리ì�� ���¥í��ë¯�ë¡�,
+ �¤ì���� ��ì²��� �� ���� ë³µì�¬ë³¸�� ��ê³µí�� �� ���µë����.</p>
+
+ <p>�� ë°©ì���¼ë� ��ì£� ���°ì�´í�¸ë��ì§� ���� 문ì��ë¥� ����
+ ����ë¡� ��ê³µí�� �� ���µë����. 문ì��ë¥� ��ë¡�ê³�침í�´ì�� ����
+ ê²½ì�� 문ì�� ������리ì���� ������ �� ���¼ë©°, �¤ì����
+ ��ì²��� �� �¬ì���±ë�©ë����.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="load-balancing" id="load-balancing">ë¶��� ë¶���</a> <a title="Permanent link" href="#load-balancing" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥� �¬ì�©í���� �¬ë�� ��ë²���
+ 무ì����ë¡� ë¶���ë¥� ë¶��°í��ê³��� �©ë����.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>�
+ ��ë²� 목ë��� �¬ì�©í���� �´ë�� �����©ë����.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap lb "rnd:/path/to/serverlist.txt"
+RewriteRule "^/(.*)" "http://${lb:servers}/$1" [P,L]</pre>
+
+
+<p><code>serverlist.txt</code>���� ��ë²� 목ë��� �¬í�¨ë�©ë����:</p>
+
+<div class="example"><p><code>
+## serverlist.txt<br />
+<br />
+servers one.example.com|two.example.com|three.example.com<br />
+</code></p></div>
+
+<p>�¹ì�� ��ë²�ê°� �¤ë¥¸ ��ë²�ë³´ë�� �� ë§��� ë¶���ë¥� ë°���ë¡� ���¤ë©´
+목ë��� �´ë�� ��ë²�ë¥� �� ë§��� ì¶�ê°���������.</p>
+
+ </dd>
+
+ <dt>���</dt>
+ <dd>
+<p>Apache���� ��� ��� 모���
+<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>ê°� �¬í�¨ë���� ���¼ë©°,
+�´ê��� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥� �¬ì�©í���� ì¡°í�©í�� �� ����
+�´ë�� ê²�ë³´ë�� �¨ì�� �� ���°í��ê³� 기ë�¥ì�� ��ë¶��©ë����.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="structuredhomedirs" id="structuredhomedirs">구조���� �¬ì�©ì�� ������ë¦�</a> <a title="Permanent link" href="#structuredhomedirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>��ì²� ëª��� �¬ì�©ì��ê°� ���� �¼ë� �¬ì�´í�¸ë�� 구조����
+ �� ������ë¦� ���´ì������ �¬ì�©í�©ë����. <em>ì¦�,</em> ê°�
+ �� ������리ë�� �¬ì�©ì�� �´ë��� ì²� ë²�ì§� 문ì��ë¡� ��������
+ ���� ������리ì�� ���µë����. ��ë¥� �¤ì��
+ <code>/~larry/anypath</code>��
+ <code>/home/<strong>l</strong>/larry/public_html/anypath</code>�´ê�
+ <code>/~waldo/anypath</code>��
+ <code>/home/<strong>w</strong>/waldo/public_html/anypath</code>������.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>���� ���´ì�����¼ë� 물결�� URL�� ���¥í��ê¸� ����
+ �¤ì�� ê·�ì¹� �¸í�¸ë�� �¬ì�©í�©ë����.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*)" "/home/<strong>$2</strong>/$1/public_html$3"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="redirectanchors" id="redirectanchors">�µì»¤ 리ë�¤ì�´ë����</a> <a title="Permanent link" href="#redirectanchors" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>기본���¼ë� HTML �µì»¤ë¡��� 리ë�¤ì�´ë���¸ë�� ������ì§�
+ ���µë����. <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ê°� <code>#</code>
+ 문ì��ë¥� �´ì�¤ì��´í������ <code>%23</code>�¼ë� ë³�����ê¸�
+ ��문ì������. �´ë� �¸í�� 리ë�¤ì�´ë������ ì¤��¨ë�©ë����.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p><code>RewriteRule</code>�� <code>[NE]</code>
+ ����ê·¸ë�� �¬ì�©í�©ë����. NE�� No Escapeë¥� ��미í�©ë����.</p>
+ </dd>
+
+ <dt>���:</dt>
+ <dd>�� 기ì���� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ê°� 기본���¼ë�
+ URL �¸ì��©í���� �¤ë¥¸ �¹ì�� 문ì������ 물ë� ���©ë�©ë����.</dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="time-dependent" id="time-dependent">��ê°� 기ë� �¬ì����</a> <a title="Permanent link" href="#time-dependent" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥� �¬ì�©í���� ��ê°����� �°ë��
+ �¤ë¥¸ ì½���ì¸�ë¥� ��ê³µí��ê³��� �©ë����.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>�¬ì���� ì¡°ê±´�� �¬ì�©í�� �� ���� <code>TIME_xxx</code>�¼ë��
+ ë§��� ë³���ê°� ���µë����. �¹ì�� �¬ì���� ë¹�êµ� �¨í��
+ <code><STRING</code>, <code>>STRING</code>,
+ <code>=STRING</code>ê³� �¨ê� ��ê°� 기ë� 리ë�¤ì�´ë���¸ë��
+ ������ �� ���µë����:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" >0700
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" <1900
+RewriteRule "^foo\.html$" "foo.day.html" [L]
+RewriteRule "^foo\.html$" "foo.night.html"</pre>
+
+
+ <p>�´ê��� <code>07:01-18:59</code> �¬ì�´ì���� URL
+ <code>foo.html</code> ���� <code>foo.day.html</code>��
+ ì½���ì¸�ë¥� ��ê³µí��ê³�, ��머ì� ��ê°�����
+ <code>foo.night.html</code>�� ����� ��공����.</p>
+
+ <div class="warning"><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>, �� �����
+ ë°� ë¸��¼ì�°ì���� ê°�ê°� ���µì�� ìº����� �� ���¼ë©°, 구ì�±ë��
+ ��ê°� ì°� ë°����� �´ë�� ìª� ���´ì��� ������ �� ���µë����.
+ <code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code>ë¥� �¬ì�©í���� �� �¨ê³¼ë¥�
+ ���´í�� �� ���µë����. 물ë� ì½���ì¸�ë¥� �����¼ë� ��ê³µí��ê³�
+ ��ê°����� �°ë�� �¬ì�©ì�� �������� ê²��� �¨ì�� ì¢��µë����.</div>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="setenvvars" id="setenvvars">URL ë¶�ë¶��� �°ë¥¸ ��ê²� ë³��� �¤ì��</a> <a title="Permanent link" href="#setenvvars" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>����ë¡� �¬ì���±ì�� ������ �� �´ë�� ì¢�ë¥��� ����ë¥�
+ ��ì§���ê³� �¶ì�� �� ���µë����. ��ë¥� �¤ì��, �´ë�� �¬ì���±ì��
+ �������¤ë�� ê²��� 기ë����� ��ì¤��� ��ì²��� �´ë�� �¬ì���±ì��
+ �µí�� ����ì§� ���¸í��ê³� �¶ì�� �� ���µë����. �´ë�� ��������
+ �� ê°�ì§� ë°©ë��� ��ê²� ë³���ë¥� �¤ì������ ê²�������.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>[E] ����ê·¸ë�� �¬ì�©í���� ��ê²� ë³���ë¥� �¤ì���©ë����.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/horse/(.*)" "/pony/$1" [E=<strong>rewritten:1</strong>]</pre>
+
+
+ <p>��ì¤��� ê·�ì¹� �¸í�¸ì���� RewriteCondë¥� �¬ì�©í����
+ �� ��ê²� ë³���ë¥� ���¸í�� �� ���µë����:</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{ENV:rewritten}" =1</pre>
+
+
+ <p>��ê²� ë³����� �¸ë� 리ë�¤ì�´ë���¸ì���� ��ì§���ì§� �����¤ë��
+ ���� ������������. ì¿��¤ë�� �¤ì�����¤ë©´ [CO] ����ê·¸ë��
+ �¬ì�©í���� ê²��� ê³��¤í�� �� ���µë����. ������리ë� ë°�
+ htaccess �¬ì���±ì���� ìµ�ì¢� ì¹����� �´ë� 리ë�¤ì�´ë���¸ë�
+ ì²�리ë���� ê²½ì��, �´ì�� �¼ì�´ë���� �¬ì���±ì���� �� ��ê²� ë³�����
+ "REDIRECT_" �����¬ê� ë¶��µë����.</p>
+
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/advanced.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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>mod_rewrite ile İleri Teknikler - 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" type="text/javascript">
+</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></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="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.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite ile İleri Teknikler</h1>
+<div class="toplang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/advanced.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</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> kullanarak birkaç ileri teknik sunar.</p>
+
+
+
+<div class="warning">Bu örneklerin birçoğunun sizin sunucu yapılandırmanızda
+değişiklik yapılmadan çalışmayacağını unutmayın; bu nedenle örnekleri
+yapılandırmanıza kopyalayıp yapıştırmak yerine anlamanız
+önemlidir.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#sharding">Birden Fazla Arka Uç Arasında URL Tabanlı Parçalama</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#on-the-fly-content">Anında İçerik Yeniden Oluşturma</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#load-balancing">Yük Dengeleme</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#structuredhomedirs">Yapılandırılmış Kullanıcı Dizinleri</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#redirectanchors">Çapaların Yeniden Yönlendirilmesi</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#time-dependent">Zamana Bağlı Yeniden Yazma</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenvvars">URL Parçalarına Göre Ortam Değişkenleri Atama</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="intro.html">mod_rewrite'a giriş</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="avoid.html">mod_rewrite kullanılmaması gereken durumlar</a></li><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="sharding" id="sharding">Birden Fazla Arka Uç Arasında URL Tabanlı Parçalama</a> <a title="Permanent link" href="#sharding" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>Sunucu yükünü veya depolama alanını dağıtmak için yaygın bir
+ teknik "parçalama" (sharding) olarak adlandırılır. Bu yöntem
+ kullanıldığında, bir ön uç sunucu kullanıcıları veya nesneleri
+ tutarlı bir şekilde ayrı arka uç sunuculara "parçalamak" için
+ URL'yi kullanır.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>Kullanıcılardan hedef sunuculara bir eşleme, harici eşlem
+ dosyalarında tutulur. Şöyle görünürler:</p>
+
+<div class="example"><p><code>
+user1 physical_host_of_user1<br />
+user2 physical_host_of_user2<br />
+# ... ve böyle devam eder
+</code></p></div>
+
+ <p>Bunu bir <code>map.users-to-hosts</code> dosyasına koyarız. Amaç
+ şunu eşlemektir;</p>
+
+<div class="example"><p><code>
+/u/user1/anypath
+</code></p></div>
+
+ <p>buna</p>
+
+<div class="example"><p><code>
+http://physical_host_of_user1/u/user/anypath
+</code></p></div>
+
+ <p>böylece her URL yolunun her arka uç fiziksel konakta geçerli
+ olması gerekmez. Aşağıdaki kural kümesi, eşlem dosyalarının
+ yardımıyla bunu bizim için yapar; bir kullanıcının eşlemde
+ girdisi yoksa server0'ın öntanımlı sunucu olarak
+ kullanılacağını varsayar:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap users-to-hosts "txt:/path/to/map.users-to-hosts"
+RewriteRule "^/u/([^/]+)/?(.*)" "http://${users-to-hosts:$1|server0}/u/$1/$2"</pre>
+
+ </dd>
+ </dl>
+
+ <p>Bu yönergenin sözdizimi hakkında daha fazla tartışma için
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> belgelerine ve
+ <a href="./rewritemap.html">RewriteMap Nasıl Yapılır</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><a name="on-the-fly-content" id="on-the-fly-content">Anında İçerik Yeniden Oluşturma</a> <a title="Permanent link" href="#on-the-fly-content" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>İçeriği devingen olarak oluşturmak, ancak oluşturulduktan
+ sonra statik olarak saklamak istiyoruz. Bu kural, statik dosyanın
+ varlığını kontrol eder ve yoksa oluşturur. Statik dosyalar
+ istenirse periyodik olarak (örneğin cron ile) kaldırılabilir ve
+ istek üzerine yeniden oluşturulur.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ Bu, aşağıdaki kural kümesiyle yapılır:
+
+<pre class="prettyprint lang-config"># This example is valid in per-directory context only
+RewriteCond "%{REQUEST_URI}" !-U
+RewriteRule "^(.+)\.html$" "/regenerate_page.cgi" [PT,L]</pre>
+
+
+ <p><code>-U</code> işleci, sınama dizgesinin (bu durumda
+ <code>REQUEST_URI</code>) geçerli bir URL olup olmadığını belirler.
+ Bunu bir alt istek aracılığıyla yapar. Bu alt istek başarısız
+ olursa - yani istenen kaynak mevcut değilse - bu kural, istenen
+ kaynağı oluşturan ve belge dizinine kaydeden
+ <code>/regenerate_page.cgi</code> CGI programını çalıştırır; böylece
+ bir sonraki istekte statik bir kopya sunulabilir.</p>
+
+ <p>Bu şekilde, seyrek güncellenen belgeler statik biçimde
+ sunulabilir. Belgelerin yenilenmesi gerekiyorsa belge dizininden
+ silinebilir ve bir sonraki istekte yeniden oluşturulur.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="load-balancing" id="load-balancing">Yük Dengeleme</a> <a title="Permanent link" href="#load-balancing" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> kullanarak yükü birkaç sunucu
+ arasında rastgele dağıtmak istiyoruz.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>Bunu gerçekleştirmek için <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> ve bir sunucu listesi
+ kullanacağız.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap lb "rnd:/path/to/serverlist.txt"
+RewriteRule "^/(.*)" "http://${lb:servers}/$1" [P,L]</pre>
+
+
+<p><code>serverlist.txt</code> sunucuların bir listesini içerecektir:</p>
+
+<div class="example"><p><code>
+## serverlist.txt<br />
+<br />
+servers one.example.com|two.example.com|three.example.com<br />
+</code></p></div>
+
+<p>Belirli bir sunucunun diğerlerinden daha fazla yük almasını
+istiyorsanız, onu listeye daha fazla kez ekleyin.</p>
+
+ </dd>
+
+ <dt>Tartışma</dt>
+ <dd>
+<p>Apache, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ile bir araya getireceğiniz
+herhangi bir şeyden çok daha esnek ve özellik açısından zengin bir yük
+dengeleme modülü olan <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> ile
+birlikte gelir.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="structuredhomedirs" id="structuredhomedirs">Yapılandırılmış Kullanıcı Dizinleri</a> <a title="Permanent link" href="#structuredhomedirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>Binlerce kullanıcısı olan bazı siteler yapılandırılmış bir
+ ev dizini düzeni kullanır; <em>yani</em> her ev dizini, kullanıcı
+ adının (örneğin) ilk karakteriyle başlayan bir alt dizindedir.
+ Böylece, <code>/~larry/anypath</code> şu olur:
+ <code>/home/<strong>l</strong>/larry/public_html/anypath</code>;
+ <code>/~waldo/anypath</code> ise şu olur:
+ <code>/home/<strong>w</strong>/waldo/public_html/anypath</code>.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>Tilde URL'leri yukarıdaki düzene göre genişletmek için
+ aşağıdaki kural kümesini kullanırız.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*)" "/home/<strong>$2</strong>/$1/public_html$3"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="redirectanchors" id="redirectanchors">Çapaların Yeniden Yönlendirilmesi</a> <a title="Permanent link" href="#redirectanchors" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>Öntanımlı olarak, bir HTML çapasına yönlendirme çalışmaz;
+ çünkü <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> <code>#</code> karakterini
+ kodlayarak <code>%23</code>'e dönüştürür. Bu da yönlendirmeyi
+ bozar.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p><code>RewriteRule</code> üzerinde <code>[NE]</code> bayrağını
+ kullanın. NE, Kodlama Yapma (No Escape) anlamına gelir.
+ </p>
+ </dd>
+
+ <dt>Tartışma:</dt>
+ <dd>Bu teknik, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülünün öntanımlı
+ olarak URL-kodladığı diğer özel karakterlerle de çalışacaktır.</dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="time-dependent" id="time-dependent">Zamana Bağlı Yeniden Yazma</a> <a title="Permanent link" href="#time-dependent" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>Günün saatine göre farklı içerik sunmak için
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> kullanmak istiyoruz.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>Yeniden yazma koşulları için <code>TIME_xxx</code> adlı birçok
+ değişken vardır. Özel sözlüksel karşılaştırma kalıpları olan
+ <code><DİZGE</code>, <code>>DİZGE</code> ve
+ <code>=DİZGE</code> ile birlikte zamana bağlı yönlendirmeler
+ yapabiliriz:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" >0700
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" <1900
+RewriteRule "^foo\.html$" "foo.day.html" [L]
+RewriteRule "^foo\.html$" "foo.night.html"</pre>
+
+
+ <p>Bu, <code>foo.html</code> URL'si altında
+ <code>07:01-18:59</code> saatleri arasında
+ <code>foo.day.html</code> içeriğini, geri kalan zamanda ise
+ <code>foo.night.html</code> içeriğini sunar.</p>
+
+ <div class="warning"><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>, ara vekiller
+ ve tarayıcıların her biri yanıtları önbelleğe alabilir ve
+ yapılandırılan zaman penceresinin dışında herhangi bir sayfanın
+ gösterilmesine neden olabilir. Bu etkiyi kontrol etmek için
+ <code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code> kullanılabilir. Elbette, içeriği
+ devingen olarak sunmak ve günün saatine göre özelleştirmek çok
+ daha iyidir.</div>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="setenvvars" id="setenvvars">URL Parçalarına Göre Ortam Değişkenleri Atama</a> <a title="Permanent link" href="#setenvvars" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>Bazen bir yeniden yazma gerçekleştirdiğimizde bir tür durum
+ bilgisi tutmak isteriz. Örneğin, bu yeniden yazmayı yaptığınıza
+ dair bir not almak isteyebilirsiniz; böylece daha sonra bir
+ isteğin bu yeniden yazma yoluyla gelip gelmediğini kontrol
+ edebilirsiniz. Bunu yapmanın bir yolu bir ortam değişkeni
+ ayarlamaktır.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>Bir ortam değişkeni ayarlamak için [E] bayrağını kullanın.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/horse/(.*)" "/pony/$1" [E=<strong>rewritten:1</strong>]</pre>
+
+
+ <p>Daha sonra kural kümenizde bu ortam değişkenini bir RewriteCond
+ kullanarak kontrol edebilirsiniz:</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{ENV:rewritten}" =1</pre>
+
+
+ <p>Ortam değişkenlerinin harici bir yönlendirmeden sonra kalıcı
+ olmadığını unutmayın. [CO] bayrağını kullanarak bir çerez
+ ayarlamayı düşünebilirsiniz. Dizin başına ve htaccess yeniden
+ yazmaları için, son değiştirme dahili bir yönlendirme olarak
+ işlendiğinde, önceki yeniden yazma turundan gelen ortam
+ değişkenlerinin başına "REDIRECT_" eklenir.</p>
+
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/advanced.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.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="http://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></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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="zh-cn" xml:lang="zh-cn"><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>mod_rewrite 高级技术 - Apache HTTP 服务器 版本 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP 服务器版本 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP 服务器</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../">版本 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite 高级技术</h1>
+<div class="toplang">
+<p><span>可用语言: </span><a href="../de/rewrite/advanced.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.html" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>本文档是 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">参考文档</a>的补充。
+它提供了一些使用 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 的高级技术。</p>
+
+
+
+<div class="warning">请注意,这些示例中的许多不会在你的特定服务器配置中直接生效,
+因此理解它们非常重要,而不仅仅是将示例复制粘贴到你的配置中。</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#sharding">基于 URL 的跨多后端分片</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#on-the-fly-content">即时内容再生成</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#load-balancing">负载均衡</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#structuredhomedirs">结构化用户目录</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#redirectanchors">重定向锚点</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#time-dependent">基于时间的重写</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenvvars">根据 URL 部分设置环境变量</a></li>
+</ul><h3>参见</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">模块文档</a></li><li><a href="intro.html">mod_rewrite 简介</a></li><li><a href="remapping.html">重定向和重映射</a></li><li><a href="access.html">访问控制</a></li><li><a href="vhosts.html">虚拟主机</a></li><li><a href="proxy.html">代理</a></li><li><a href="rewritemap.html">使用 RewriteMap</a></li><li><a href="avoid.html">何时不使用 mod_rewrite</a></li><li><a href="#comments_section">评论</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="sharding" id="sharding">基于 URL 的跨多后端分片</a> <a title="Permanent link" href="#sharding" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>一种分配服务器负载或存储空间的常见技术称为"分片"。
+ 使用此方法时,前端服务器将使用 URL 将用户或对象一致地"分片"到
+ 不同的后端服务器。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>在外部映射文件中维护从用户到目标服务器的映射。
+ 它们看起来像:</p>
+
+<div class="example"><p><code>
+user1 physical_host_of_user1<br />
+user2 physical_host_of_user2<br />
+# ... and so on
+</code></p></div>
+
+ <p>我们将其放入 <code>map.users-to-hosts</code> 文件。
+ 目标是映射:</p>
+
+<div class="example"><p><code>
+/u/user1/anypath
+</code></p></div>
+
+ <p>到</p>
+
+<div class="example"><p><code>
+http://physical_host_of_user1/u/user/anypath
+</code></p></div>
+
+ <p>这样每个 URL 路径不需要在每个后端物理主机上都有效。
+ 以下规则集借助映射文件为我们完成此操作,
+ 假设 server0 是在用户在映射中没有条目时使用的默认服务器:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap users-to-hosts "txt:/path/to/map.users-to-hosts"
+RewriteRule "^/u/([^/]+)/?(.*)" "http://${users-to-hosts:$1|server0}/u/$1/$2"</pre>
+
+ </dd>
+ </dl>
+
+ <p>请参阅 <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ 文档和 <a href="./rewritemap.html">RewriteMap 指南</a>
+ 以了解此指令语法的更多讨论。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="on-the-fly-content" id="on-the-fly-content">即时内容再生成</a> <a title="Permanent link" href="#on-the-fly-content" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>我们希望动态生成内容,但一旦生成就将其静态存储。
+ 此规则将检查静态文件是否存在,如果不存在,则生成它。
+ 静态文件可以定期删除(例如通过 cron),
+ 并在需要时按需重新生成。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ 这通过以下规则集完成:
+
+<pre class="prettyprint lang-config"># This example is valid in per-directory context only
+RewriteCond "%{REQUEST_URI}" !-U
+RewriteRule "^(.+)\.html$" "/regenerate_page.cgi" [PT,L]</pre>
+
+
+ <p><code>-U</code> 操作符确定测试字符串(在本例中为
+ <code>REQUEST_URI</code>)是否是有效的 URL。它通过子请求来完成。
+ 如果此子请求失败——即请求的资源不存在——此规则将调用 CGI 程序
+ <code>/regenerate_page.cgi</code>,该程序生成请求的资源并将其保存到
+ 文档目录中,这样下次请求时就可以提供静态副本了。</p>
+
+ <p>通过这种方式,不经常更新的文档可以以静态形式提供。
+ 如果需要刷新文档,可以从文档目录中删除它们,
+ 下次请求时将重新生成。</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="load-balancing" id="load-balancing">负载均衡</a> <a title="Permanent link" href="#load-balancing" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>我们希望使用 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ 在多台服务器之间随机分配负载。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>我们将使用 <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> 和服务器列表来实现。</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteMap lb "rnd:/path/to/serverlist.txt"
+RewriteRule "^/(.*)" "http://${lb:servers}/$1" [P,L]</pre>
+
+
+<p><code>serverlist.txt</code> 将包含服务器列表:</p>
+
+<div class="example"><p><code>
+## serverlist.txt<br />
+<br />
+servers one.example.com|two.example.com|three.example.com<br />
+</code></p></div>
+
+<p>如果你希望某台特定服务器承担更多负载,可以在列表中多次添加它。</p>
+
+ </dd>
+
+ <dt>讨论</dt>
+ <dd>
+<p>Apache 自带一个负载均衡模块 -
+<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> - 它比你使用
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 拼凑出来的任何方案都更加灵活和功能丰富。</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="structuredhomedirs" id="structuredhomedirs">结构化用户目录</a> <a title="Permanent link" href="#structuredhomedirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>一些拥有数千用户的站点使用结构化的主目录布局,
+ <em>即</em>每个主目录位于一个子目录中,
+ 该子目录以用户名的第一个字符开头。因此,
+ <code>/~larry/anypath</code> 是
+ <code>/home/<strong>l</strong>/larry/public_html/anypath</code>,
+ 而 <code>/~waldo/anypath</code> 是
+ <code>/home/<strong>w</strong>/waldo/public_html/anypath</code>。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>我们使用以下规则集将波浪号 URL 展开为上述布局。</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*)" "/home/<strong>$2</strong>/$1/public_html$3"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="redirectanchors" id="redirectanchors">重定向锚点</a> <a title="Permanent link" href="#redirectanchors" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>默认情况下,重定向到 HTML 锚点不起作用,因为
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 会转义 <code>#</code> 字符,
+ 将其变为 <code>%23</code>。这反过来会破坏重定向。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>在 <code>RewriteRule</code> 上使用 <code>[NE]</code> 标志。
+ NE 代表不转义(No Escape)。
+ </p>
+ </dd>
+
+ <dt>讨论:</dt>
+ <dd>此技术当然也适用于 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ 默认会进行 URL 编码的其他特殊字符。</dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="time-dependent" id="time-dependent">基于时间的重写</a> <a title="Permanent link" href="#time-dependent" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>我们希望使用 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ 根据一天中的时间提供不同的内容。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>有许多名为 <code>TIME_xxx</code>
+ 的变量可用于重写条件。结合特殊的词法比较模式
+ <code><STRING</code>、<code>>STRING</code> 和
+ <code>=STRING</code>,我们可以进行基于时间的重定向:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" >0700
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" <1900
+RewriteRule "^foo\.html$" "foo.day.html" [L]
+RewriteRule "^foo\.html$" "foo.night.html"</pre>
+
+
+ <p>这将在 <code>07:01-18:59</code> 时间段内,以 URL
+ <code>foo.html</code> 提供 <code>foo.day.html</code> 的内容,
+ 在其余时间提供 <code>foo.night.html</code> 的内容。</p>
+
+ <div class="warning"><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>、中间代理和浏览器
+ 可能各自缓存响应,导致在配置的时间窗口之外显示某个页面。
+ 可以使用 <code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code> 来控制此效果。
+ 当然,动态提供内容并根据时间自定义它是更好的方式。</div>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="setenvvars" id="setenvvars">根据 URL 部分设置环境变量</a> <a title="Permanent link" href="#setenvvars" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>有时,我们希望在执行重写时保持某种状态。例如,
+ 你想记录你已完成该重写,以便稍后检查请求是否通过该重写。
+ 一种方法是设置环境变量。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>使用 [E] 标志设置环境变量。</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/horse/(.*)" "/pony/$1" [E=<strong>rewritten:1</strong>]</pre>
+
+
+ <p>稍后在你的规则集中,你可以使用 RewriteCond 检查此环境变量:</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{ENV:rewritten}" =1</pre>
+
+
+ <p>请注意,环境变量在外部重定向后不会保留。你可以考虑使用 [CO]
+ 标志来设置 cookie。对于目录级和 htaccess 重写,
+ 当最终替换作为内部重定向处理时,上一轮重写的环境变量会以
+ "REDIRECT_" 为前缀。</p>
+
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>可用语言: </span><a href="../de/rewrite/advanced.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/advanced.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/advanced.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/advanced.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/advanced.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/advanced.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/advanced.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/advanced.html" title="Simplified Chinese"> zh-cn </a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2026 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许可证.</p>
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
# GENERATED FROM XML -- DO NOT EDIT
+URI: avoid.html.de
+Content-Language: de
+Content-type: text/html; charset=ISO-8859-1
+
URI: avoid.html.en.utf8
Content-Language: en
Content-type: text/html; charset=UTF-8
+URI: avoid.html.es.utf8
+Content-Language: es
+Content-type: text/html; charset=UTF-8
+
URI: avoid.html.fr.utf8
Content-Language: fr
Content-type: text/html; charset=UTF-8
+
+URI: avoid.html.ja.utf8
+Content-Language: ja
+Content-type: text/html; charset=UTF-8
+
+URI: avoid.html.ko.euc-kr
+Content-Language: ko
+Content-type: text/html; charset=EUC-KR
+
+URI: avoid.html.tr.utf8
+Content-Language: tr
+Content-type: text/html; charset=UTF-8
+
+URI: avoid.html.zh-cn.utf8
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!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="de" xml:lang="de"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Wann man mod_rewrite nicht verwenden sollte - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Wann man mod_rewrite nicht verwenden sollte</h1>
+<div class="toplang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/avoid.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>Dieses Dokument ergänzt die <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">Referenzdokumentation</a>. Es beschreibt
+vielleicht eines der wichtigsten Konzepte bezüglich <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> -
+nämlich, wann man es vermeiden sollte.</p>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> sollte als letzter Ausweg betrachtet werden, wenn andere
+Alternativen nicht ausreichen. Die Verwendung, wenn einfachere
+Alternativen existieren, führt zu Konfigurationen, die verwirrend, fragil und
+schwer zu warten sind. Das Verständnis der verfügbaren Alternativen ist
+ein sehr wichtiger Schritt zur Beherrschung von <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+
+<p>Beachten Sie, dass viele dieser Beispiele nicht unverändert in Ihrer
+speziellen Serverkonfiguration funktionieren werden. Es ist daher wichtig,
+dass Sie sie verstehen, anstatt die Beispiele einfach auszuschneiden und
+in Ihre Konfiguration einzufügen.</p>
+
+<p>Die häufigste Situation, in der <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> das
+richtige Werkzeug ist, ist wenn die allerbeste Lösung Zugriff auf die
+Serverkonfigurationsdateien erfordert und Sie diesen Zugriff nicht haben.
+Einige Konfigurationsdirektiven sind nur in der Serverkonfigurationsdatei
+verfügbar. Wenn Sie sich in einer Hosting-Situation befinden, in der Sie
+nur mit .htaccess-Dateien arbeiten können, müssen Sie möglicherweise auf
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> zurückgreifen.</p>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#redirect">Einfache Umleitung</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#alias">URL-Aliasing</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#vhosts">Virtuelles Hosting</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxy">Einfaches Proxying</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenv">Test von Umgebungsvariablen</a></li>
+</ul><h3>Siehe auch</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Moduldokumentation</a></li><li><a href="intro.html">Einführung in mod_rewrite</a></li><li><a href="remapping.html">Umleitung und Neuzuordnung</a></li><li><a href="access.html">Zugriffskontrolle</a></li><li><a href="vhosts.html">Virtuelle Hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Verwendung von RewriteMap</a></li><li><a href="advanced.html">Fortgeschrittene Techniken</a></li><li><a href="#comments_section">Kommentare</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="redirect" id="redirect">Einfache Umleitung</a> <a title="Permanent link" href="#redirect" class="permalink">¶</a></h2>
+
+
+<p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> stellt die Direktiven <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code> und <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> bereit, die eine Möglichkeit
+bieten, eine URL zu einer anderen umzuleiten. Diese Art der einfachen
+Umleitung einer URL oder einer Klasse von URLs an einen anderen Ort sollte
+mit diesen Direktiven und nicht mit <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> erfolgen. <code>RedirectMatch</code>
+ermöglicht es Ihnen, einen regulären Ausdruck in Ihre Umleitungskriterien
+einzubinden, was viele der Vorteile der Verwendung von
+<code>RewriteRule</code> bietet.</p>
+
+<p>Eine häufige Verwendung von <code>RewriteRule</code> ist die Umleitung
+einer ganzen Klasse von URLs. Beispielsweise müssen alle URLs im Verzeichnis
+<code>/one</code> nach <code>http://one.example.com/</code> umgeleitet werden,
+oder alle <code>http</code>-Anfragen müssen nach <code>https</code>
+umgeleitet werden.</p>
+
+<p>Diese Situationen werden besser mit der <code>Redirect</code>-Direktive
+behandelt. Denken Sie daran, dass <code>Redirect</code> Pfadinformationen
+beibehält. Das heißt, eine Umleitung für die URL <code>/one</code>
+wird auch alle darunter liegenden URLs umleiten, wie
+<code>/one/two.html</code> und <code>/one/three/four.html</code>.</p>
+
+<p>Um URLs unter <code>/one</code> nach
+<code>http://one.example.com</code> umzuleiten, tun Sie Folgendes:</p>
+
+<pre class="prettyprint lang-config">Redirect "/one/" "http://one.example.com/"</pre>
+
+
+<p>Um einen Hostnamen zu einem anderen umzuleiten, beispielsweise
+<code>example.com</code> zu <code>www.example.com</code>, siehe das
+Rezept für <a href="remapping.html#canonicalhost">kanonische Hostnamen</a>.</p>
+
+<p>Um <code>http</code>-URLs nach <code>https</code> umzuleiten, tun Sie
+Folgendes:</p>
+
+<pre class="prettyprint lang-config"><VirtualHost *:80>
+ ServerName www.example.com
+ Redirect "/" "https://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:443>
+ ServerName www.example.com
+ # ... SSL-Konfiguration hier
+</VirtualHost></pre>
+
+
+<p>Die Verwendung von <code>RewriteRule</code> für diese Aufgabe kann
+angemessen sein, wenn andere <code>RewriteRule</code>-Direktiven im
+selben Geltungsbereich vorhanden sind. Dies liegt daran, dass bei
+<code>Redirect</code>- und <code>RewriteRule</code>-Direktiven im selben
+Geltungsbereich die <code>RewriteRule</code>-Direktiven immer zuerst
+ausgeführt werden, unabhängig von der Reihenfolge in der
+Konfigurationsdatei.</p>
+
+<p>Im Fall der <em>http-zu-https</em>-Umleitung wäre die Verwendung
+von <code>RewriteRule</code> angemessen, wenn Sie keinen Zugriff auf die
+Hauptserverkonfigurationsdatei haben und diese Aufgabe stattdessen in einer
+<code>.htaccess</code>-Datei erledigen müssen.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="alias" id="alias">URL-Aliasing</a> <a title="Permanent link" href="#alias" class="permalink">¶</a></h2>
+<p>Die <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>-Direktive bietet
+eine Zuordnung von einem URI zu einem Verzeichnis - normalerweise einem
+Verzeichnis außerhalb Ihres <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>.
+Obwohl es möglich ist, diese Zuordnung mit <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+durchzuführen, ist <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> aus Gründen
+der Einfachheit und Leistung die bevorzugte Methode.</p>
+
+<div class="example"><h3>Verwendung von Alias</h3><pre class="prettyprint lang-config">Alias "/cats" "/var/www/virtualhosts/felines/htdocs"</pre>
+</div>
+
+<p>
+Die Verwendung von <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> für diese Zuordnung kann
+angemessen sein, wenn Sie keinen Zugriff auf die Serverkonfigurationsdateien
+haben. Alias kann nur im Server- oder VirtualHost-Kontext verwendet werden
+und nicht in einer <code>.htaccess</code>-Datei.
+</p>
+
+<p>Symbolische Links wären eine weitere Möglichkeit, dasselbe zu erreichen,
+wenn Sie <code>Options FollowSymLinks</code> auf Ihrem Server aktiviert
+haben.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="vhosts" id="vhosts">Virtuelles Hosting</a> <a title="Permanent link" href="#vhosts" class="permalink">¶</a></h2>
+<p>Obwohl es möglich ist, <a href="vhosts.html">virtuelle Hosts
+mit mod_rewrite</a> zu verwalten, ist dies selten der richtige Weg. Das
+Erstellen einzelner <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>-Blöcke
+ist fast immer der richtige Ansatz. Falls Sie eine enorme Anzahl virtueller
+Hosts haben, erwägen Sie die Verwendung von
+<code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>, um diese Hosts automatisch zu erstellen.</p>
+
+<p>Module wie <code class="module"><a href="../mod/mod_macro.html">mod_macro</a></code> sind ebenfalls nützlich, um eine
+große Anzahl virtueller Hosts dynamisch zu erstellen.</p>
+
+<p>Die Verwendung von <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> für die Erstellung
+virtueller Hosts kann angemessen sein, wenn Sie einen Hosting-Dienst
+verwenden, der Ihnen keinen Zugriff auf die Serverkonfigurationsdateien
+gewährt und Sie daher auf die Konfiguration mittels
+<code>.htaccess</code>-Dateien beschränkt sind.</p>
+
+<p>Siehe das Dokument <a href="vhosts.html">Virtuelle Hosts mit mod_rewrite</a>
+für weitere Details, wie Sie dies erreichen können, wenn es Ihnen immer
+noch als der richtige Ansatz erscheint.</p>
+
+</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">Einfaches Proxying</a> <a title="Permanent link" href="#proxy" class="permalink">¶</a></h2>
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> bietet das <a href="flags.html#flag_p">[P]</a>-Flag, um umgeschriebene URIs über
+<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> weiterzuleiten.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/?images(.*)" "http://imageserver.local/images$1" [P]</pre>
+
+
+<p>In vielen Fällen jedoch, wenn kein tatsächlicher Musterabgleich
+erforderlich ist, wie im obigen Beispiel, ist die <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>-Direktive die bessere Wahl.
+Das Beispiel hier könnte wie folgt dargestellt werden:</p>
+
+<pre class="prettyprint lang-config">ProxyPass "/images/" "http://imageserver.local/images/"</pre>
+
+
+<p>Beachten Sie, dass Sie unabhängig davon, ob Sie <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> oder <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> verwenden, die
+<code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code>-Direktive
+benötigen, um Umleitungen vom Backend-Server korrekt weiterzuleiten:</p>
+
+<pre class="prettyprint lang-config">ProxyPassReverse "/images/" "http://imageserver.local/images/"</pre>
+
+
+<p>Sie müssen möglicherweise stattdessen <code>RewriteRule</code> verwenden,
+wenn andere <code>RewriteRule</code>s im selben Geltungsbereich aktiv sind,
+da eine <code>RewriteRule</code> in der Regel vor einem
+<code>ProxyPass</code> wirksam wird und somit das gewünschte Ergebnis
+vorwegnehmen kann.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="setenv" id="setenv">Test von Umgebungsvariablen</a> <a title="Permanent link" href="#setenv" class="permalink">¶</a></h2>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> wird häufig verwendet, um eine bestimmte
+Aktion basierend auf dem Vorhandensein oder Fehlen einer bestimmten
+Umgebungsvariable oder eines Anfrage-Headers durchzuführen. Dies kann
+effizienter mit der <code class="directive"><a href="../mod/core.html#if"><If></a></code>-Direktive
+erreicht werden.</p>
+
+<p>Betrachten Sie beispielsweise das häufige Szenario, in dem
+<code class="directive">RewriteRule</code> verwendet wird, um einen kanonischen
+Hostnamen zu erzwingen, wie <code>www.example.com</code> anstelle von
+<code>example.com</code>. Dies kann mit der <code class="directive"><a href="../mod/core.html#if"><If></a></code>-Direktive wie hier gezeigt
+erreicht werden:</p>
+
+<pre class="prettyprint lang-config"><If "req('Host') != 'www.example.com'">
+ Redirect "/" "http://www.example.com/"
+</If></pre>
+
+
+<p>Diese Technik kann verwendet werden, um Aktionen basierend auf jedem
+beliebigen Anfrage-Header, Antwort-Header oder Umgebungsvariable
+durchzuführen und <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> in vielen gängigen
+Szenarien zu ersetzen.</p>
+
+<p>Siehe insbesondere die <a href="../expr.html">Dokumentation zur
+Ausdrucksauswertung</a> für einen Überblick darüber, welche Arten von
+Ausdrücken Sie in <code class="directive"><a href="../mod/core.html#if"><If></a></code>-Abschnitten
+und in bestimmten anderen Direktiven verwenden können.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/avoid.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.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 />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>When not to use mod_rewrite</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/avoid.html" title="English"> en </a> |
-<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/avoid.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
</div></div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/avoid.html" title="English"> en </a> |
-<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/avoid.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="es" xml:lang="es"><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>Cuándo no usar mod_rewrite - Servidor HTTP Apache Versión 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p>
+<p class="apache">Versión 2.5 del Servidor HTTP Apache</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/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Cuándo no usar mod_rewrite</h1>
+<div class="toplang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/avoid.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>Este documento complementa la <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">documentación de referencia</a>. Describe
+quizás uno de los conceptos más importantes sobre <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> - concretamente,
+cuándo evitar usarlo.</p>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> debería considerarse como último recurso, cuando otras
+alternativas resultan insuficientes. Usarlo cuando hay alternativas más simples
+lleva a configuraciones que son confusas, frágiles y
+difíciles de mantener. Entender qué otras alternativas están disponibles es
+un paso muy importante hacia el dominio de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+
+<p>Tenga en cuenta que muchos de estos ejemplos no funcionarán sin cambios en su
+configuración particular del servidor, por lo que es importante que los
+entienda, en lugar de simplemente copiar y pegar los ejemplos en su
+configuración.</p>
+
+<p>La situación más común en la que <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> es
+la herramienta correcta es cuando la mejor solución requiere acceso a los
+archivos de configuración del servidor, y usted no tiene ese acceso. Algunas
+directivas de configuración solo están disponibles en el archivo de configuración
+del servidor. Así que si está en una situación de alojamiento donde solo tiene archivos .htaccess
+con los que trabajar, puede necesitar recurrir a
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#redirect">Redirección Simple</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#alias">Alias de URL</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#vhosts">Alojamiento Virtual</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxy">Proxy Simple</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenv">Prueba de Variables de Entorno</a></li>
+</ul><h3>Consulte también</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentación del módulo</a></li><li><a href="intro.html">Introducción a mod_rewrite</a></li><li><a href="remapping.html">Redirección y remapeo</a></li><li><a href="access.html">Control de acceso</a></li><li><a href="vhosts.html">Hosts virtuales</a></li><li><a href="proxy.html">Proxy</a></li><li><a href="rewritemap.html">Uso de RewriteMap</a></li><li><a href="advanced.html">Técnicas avanzadas</a></li><li><a href="#comments_section">Comentarios</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="redirect" id="redirect">Redirección Simple</a> <a title="Enlace permanente" href="#redirect" class="permalink">¶</a></h2>
+
+
+<p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> proporciona las directivas <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code> y <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code>, que proporcionan un
+medio para redirigir una URL a otra. Este tipo de redirección simple de
+una URL, o una clase de URLs, a otro lugar, debería realizarse
+usando estas directivas en lugar de <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>. <code>RedirectMatch</code>
+le permite incluir una expresión regular en sus criterios de redirección,
+proporcionando muchos de los beneficios de usar <code>RewriteRule</code>.</p>
+
+<p>Un uso común de <code>RewriteRule</code> es redirigir toda una
+clase de URLs. Por ejemplo, todas las URLs en el directorio <code>/one</code>
+deben ser redirigidas a <code>http://one.example.com/</code>, o quizás
+todas las solicitudes <code>http</code> deben ser redirigidas a
+<code>https</code>.</p>
+
+<p>Estas situaciones se manejan mejor con la directiva <code>Redirect</code>.
+Recuerde que <code>Redirect</code> preserva la información de
+ruta. Es decir, una redirección para una URL <code>/one</code> también
+redirigirá todas las URLs bajo ella, como <code>/one/two.html</code>
+y <code>/one/three/four.html</code>.</p>
+
+<p>Para redirigir URLs bajo <code>/one</code> a
+<code>http://one.example.com</code>, haga lo siguiente:</p>
+
+<pre class="prettyprint lang-config">Redirect "/one/" "http://one.example.com/"</pre>
+
+
+<p>Para redirigir un nombre de host a otro, por ejemplo
+<code>example.com</code> a <code>www.example.com</code>, vea la
+receta de <a href="remapping.html#canonicalhost">Nombres de Host Canónicos</a>.</p>
+
+<p>Para redirigir URLs <code>http</code> a <code>https</code>, haga lo
+siguiente:</p>
+
+<pre class="prettyprint lang-config"><VirtualHost *:80>
+ ServerName www.example.com
+ Redirect "/" "https://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:443>
+ ServerName www.example.com
+ # ... la configuración SSL va aquí
+</VirtualHost></pre>
+
+
+<p>El uso de <code>RewriteRule</code> para realizar esta tarea puede ser
+apropiado si hay otras directivas <code>RewriteRule</code> en
+el mismo ámbito. Esto se debe a que, cuando hay directivas <code>Redirect</code>
+y <code>RewriteRule</code> en el mismo ámbito, las
+directivas <code>RewriteRule</code> se ejecutarán primero, independientemente del
+orden de aparición en el archivo de configuración.</p>
+
+<p>En el caso de la redirección de <em>http-a-https</em>, el uso de
+<code>RewriteRule</code> sería apropiado si no tiene acceso
+al archivo de configuración principal del servidor, y está obligado a realizar esta
+tarea en un archivo <code>.htaccess</code> en su lugar.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="alias" id="alias">Alias de URL</a> <a title="Enlace permanente" href="#alias" class="permalink">¶</a></h2>
+<p>La directiva <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>
+proporciona mapeo de un URI a un directorio - generalmente un directorio fuera
+de su <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Aunque es
+posible realizar este mapeo con <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>,
+<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> es el método preferido, por
+razones de simplicidad y rendimiento.</p>
+
+<div class="example"><h3>Usando Alias</h3><pre class="prettyprint lang-config">Alias "/cats" "/var/www/virtualhosts/felines/htdocs"</pre>
+</div>
+
+<p>
+El uso de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> para realizar este mapeo puede ser
+apropiado cuando no tiene acceso a los archivos de configuración
+del servidor. Alias solo puede usarse en contexto de servidor o virtualhost, y no
+en un archivo <code>.htaccess</code>.
+</p>
+
+<p>Los enlaces simbólicos serían otra forma de lograr lo mismo, si
+tiene <code>Options FollowSymLinks</code> habilitado en su
+servidor.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="vhosts" id="vhosts">Alojamiento Virtual</a> <a title="Enlace permanente" href="#vhosts" class="permalink">¶</a></h2>
+<p>Aunque es posible manejar <a href="vhosts.html">hosts virtuales
+con mod_rewrite</a>, rara vez es la forma correcta. Crear bloques
+<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> individuales es
+casi siempre la forma correcta de proceder. En el
+caso de que tenga un número enorme de hosts virtuales, considere usar
+<code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> para crear estos hosts automáticamente.</p>
+
+<p>Módulos como <code class="module"><a href="../mod/mod_macro.html">mod_macro</a></code> también son
+útiles para crear un gran número de hosts virtuales dinámicamente.</p>
+
+<p>Usar <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> para la creación de hosts virtuales puede ser
+apropiado si está usando un servicio de alojamiento que no le proporciona
+acceso a los archivos de configuración del servidor, y por lo tanto está
+restringido a la configuración usando archivos <code>.htaccess</code>.</p>
+
+<p>Vea el documento de <a href="vhosts.html">hosts virtuales con mod_rewrite</a>
+para más detalles sobre cómo podría lograr esto si aún
+parece ser el enfoque correcto.</p>
+
+</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">Proxy Simple</a> <a title="Enlace permanente" href="#proxy" class="permalink">¶</a></h2>
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> proporciona la bandera <a href="flags.html#flag_p">[P]</a> para pasar URIs reescritas a través de
+<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/?images(.*)" "http://imageserver.local/images$1" [P]</pre>
+
+
+<p>Sin embargo, en muchos casos, cuando no hay necesidad real de coincidencia
+de patrones, como en el ejemplo mostrado arriba, la directiva <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> es una mejor opción.
+El ejemplo aquí podría expresarse como:</p>
+
+<pre class="prettyprint lang-config">ProxyPass "/images/" "http://imageserver.local/images/"</pre>
+
+
+<p>Tenga en cuenta que ya sea que use <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> o <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>, todavía necesitará usar la
+directiva <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> para
+capturar redirecciones emitidas por el servidor backend:</p>
+
+<pre class="prettyprint lang-config">ProxyPassReverse "/images/" "http://imageserver.local/images/"</pre>
+
+
+<p>Puede necesitar usar <code>RewriteRule</code> en su lugar cuando hay
+otras <code>RewriteRule</code>s en efecto en el mismo ámbito, ya que una
+<code>RewriteRule</code> generalmente tendrá efecto antes que un
+<code>ProxyPass</code>, y por lo tanto puede anticiparse a lo que está intentando
+lograr.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="setenv" id="setenv">Prueba de Variables de Entorno</a> <a title="Enlace permanente" href="#setenv" class="permalink">¶</a></h2>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> se usa frecuentemente para tomar una acción particular
+basada en la presencia o ausencia de una variable de entorno particular
+o cabecera de solicitud. Esto puede hacerse de manera más eficiente usando la
+directiva <code class="directive"><a href="../mod/core.html#if"><If></a></code>.</p>
+
+<p>Considere, por ejemplo, el escenario común donde
+<code class="directive">RewriteRule</code> se usa para imponer un nombre de
+host canónico, como <code>www.example.com</code> en lugar de
+<code>example.com</code>. Esto puede hacerse usando la directiva <code class="directive"><a href="../mod/core.html#if"><If></a></code>, como se muestra aquí:</p>
+
+<pre class="prettyprint lang-config"><If "req('Host') != 'www.example.com'">
+ Redirect "/" "http://www.example.com/"
+</If></pre>
+
+
+<p>Esta técnica puede usarse para tomar acciones basadas en cualquier cabecera de
+solicitud, cabecera de respuesta o variable de entorno, reemplazando
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> en muchos escenarios comunes.</p>
+
+<p>Vea especialmente la <a href="../expr.html">documentación de evaluación
+de expresiones</a> para una visión general de qué tipos de expresiones puede
+usar en secciones <code class="directive"><a href="../mod/core.html#if"><If></a></code>,
+y en ciertas otras directivas.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/avoid.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.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 />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Quand ne pas utiliser mod_rewrite</h1>
<div class="toplang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/avoid.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/avoid.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Ce document est un complément à la <a href="../mod/mod_rewrite.html">Documentation de référence</a> de
<p>Pour rediriger les URLs sous <code>/un</code> vers
<code>http://un.example.com/</code>, utilisez cette définition :</p>
-<pre class="prettyprint lang-config">Redirect /one/ http://one.example.com/</pre>
+<pre class="prettyprint lang-config">Redirect "/one/" "http://one.example.com/"</pre>
<p>Pour rediriger un nom d'hôte vers un autre nom d'hôte, par exemple
utilisez cette définition :</p>
<pre class="prettyprint lang-config"><VirtualHost *:80>
-ServerName www.example.com
-Redirect "/" "https://www.example.com/"
+ ServerName www.example.com
+ Redirect "/" "https://www.example.com/"
</VirtualHost>
<VirtualHost *:443>
-ServerName www.example.com
-# ... insérer ici la configuration SSL
+ ServerName www.example.com
+ # ... insérer ici la configuration SSL
</VirtualHost></pre>
suit :</p>
<pre class="prettyprint lang-config"><If "req('Host') != 'www.example.com'">
- Redirect "/" "http://www.example.com"
+ Redirect "/" "http://www.example.com/"
</If></pre>
</div></div>
<div class="bottomlang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/avoid.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/avoid.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.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 />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="ja" xml:lang="ja"><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>mod_rewrite を使わない場合 - Apache HTTP サーバ バージョン 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
+<p class="apache">Apache HTTP サーバ バージョン 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite を使わない場合</h1>
+<div class="toplang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/avoid.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>このドキュメントは <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">リファレンスドキュメント</a>を補足するものです。
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> について最も重要な概念の一つ、
+すなわち、いつ使用を避けるべきかについて説明します。</p>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> は、他の代替手段が不十分な場合の最後の手段と
+考えるべきです。よりシンプルな代替手段がある場合に使用すると、
+設定が混乱しやすく、壊れやすく、メンテナンスしにくくなります。
+他にどのような代替手段が利用できるかを理解することは、
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を習得するための非常に重要なステップです。</p>
+
+<p>これらの例の多くは、特定のサーバ設定ではそのまま動作しないことに
+注意してください。そのため、単にコピー&ペーストするのではなく、
+内容を理解することが重要です。</p>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> が適切なツールである最も一般的な状況は、
+最善の解決策がサーバ設定ファイルへのアクセスを必要とし、そのアクセスが
+ない場合です。一部の設定ディレクティブはサーバ設定ファイルでのみ
+使用可能です。そのため、.htaccess ファイルのみを使用できるホスティング
+環境にいる場合は、<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> に頼る必要があるかもしれません。</p>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#redirect">シンプルなリダイレクト</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#alias">URL エイリアス</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#vhosts">バーチャルホスティング</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxy">シンプルなプロキシ</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenv">環境変数のテスト</a></li>
+</ul><h3>参照</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">モジュールドキュメント</a></li><li><a href="intro.html">mod_rewrite 入門</a></li><li><a href="remapping.html">リダイレクトとリマッピング</a></li><li><a href="access.html">アクセス制御</a></li><li><a href="vhosts.html">バーチャルホスト</a></li><li><a href="proxy.html">プロキシ</a></li><li><a href="rewritemap.html">RewriteMap の使用</a></li><li><a href="advanced.html">高度なテクニック</a></li><li><a href="#comments_section">コメント</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="redirect" id="redirect">シンプルなリダイレクト</a> <a title="Permanent link" href="#redirect" class="permalink">¶</a></h2>
+
+
+<p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> は、ある URL から別の URL へのリダイレクト手段を
+提供する <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code> および <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> ディレクティブを提供します。
+この種の、ある URL または URL のクラスを別の場所へのシンプルなリダイレクトは、
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ではなく、これらの
+ディレクティブを使用して行うべきです。<code>RedirectMatch</code> では
+リダイレクト基準に正規表現を含めることができ、<code>RewriteRule</code> を
+使用する利点の多くを享受できます。</p>
+
+<p><code>RewriteRule</code> の一般的な使用法は、URL のクラス全体を
+リダイレクトすることです。例えば、<code>/one</code> ディレクトリのすべての
+URL を <code>http://one.example.com/</code> にリダイレクトする必要がある場合や、
+すべての <code>http</code> リクエストを <code>https</code> に
+リダイレクトする必要がある場合などです。</p>
+
+<p>これらの状況は <code>Redirect</code> ディレクティブで処理する方が
+適切です。<code>Redirect</code> はパス情報を保持することを忘れないでください。
+つまり、URL <code>/one</code> のリダイレクトは、<code>/one/two.html</code>
+や <code>/one/three/four.html</code> など、その配下のすべての URL も
+リダイレクトします。</p>
+
+<p><code>/one</code> 配下の URL を
+<code>http://one.example.com</code> にリダイレクトするには、
+以下のようにします:</p>
+
+<pre class="prettyprint lang-config">Redirect "/one/" "http://one.example.com/"</pre>
+
+
+<p>あるホスト名から別のホスト名にリダイレクトするには、例えば
+<code>example.com</code> を <code>www.example.com</code> にリダイレクトするには、
+<a href="remapping.html#canonicalhost">正規ホスト名</a>
+のレシピを参照してください。</p>
+
+<p><code>http</code> URL を <code>https</code> にリダイレクトするには、
+以下のようにします:</p>
+
+<pre class="prettyprint lang-config"><VirtualHost *:80>
+ ServerName www.example.com
+ Redirect "/" "https://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:443>
+ ServerName www.example.com
+ # ... SSL 設定をここに記述
+</VirtualHost></pre>
+
+
+<p>同じスコープに他の <code>RewriteRule</code> ディレクティブがある場合は、
+このタスクに <code>RewriteRule</code> を使用するのが適切な場合があります。
+これは、同じスコープに <code>Redirect</code> と <code>RewriteRule</code>
+ディレクティブがある場合、設定ファイルでの出現順序に関係なく、
+<code>RewriteRule</code> ディレクティブが先に実行されるためです。</p>
+
+<p><em>http から https への</em>リダイレクトの場合、メインサーバ設定ファイルに
+アクセスできず、<code>.htaccess</code> ファイルでこのタスクを実行する必要がある
+場合は、<code>RewriteRule</code> の使用が適切です。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="alias" id="alias">URL エイリアス</a> <a title="Permanent link" href="#alias" class="permalink">¶</a></h2>
+<p><code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> ディレクティブは、
+URI からディレクトリ (通常は <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
+の外部のディレクトリ) へのマッピングを提供します。このマッピングを
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> で行うことは可能ですが、シンプルさとパフォーマンスの
+理由から <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> が推奨される
+方法です。</p>
+
+<div class="example"><h3>Alias の使用</h3><pre class="prettyprint lang-config">Alias "/cats" "/var/www/virtualhosts/felines/htdocs"</pre>
+</div>
+
+<p>
+サーバ設定ファイルにアクセスできない場合に、このマッピングを行うために
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を使用するのが適切な場合があります。Alias は
+サーバまたはバーチャルホストのコンテキストでのみ使用でき、
+<code>.htaccess</code> ファイルでは使用できません。
+</p>
+
+<p>サーバで <code>Options FollowSymLinks</code> が有効になっている場合は、
+シンボリックリンクも同じことを実現する方法の一つです。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="vhosts" id="vhosts">バーチャルホスティング</a> <a title="Permanent link" href="#vhosts" class="permalink">¶</a></h2>
+<p><a href="vhosts.html">mod_rewrite でバーチャルホスト</a>を
+処理することは可能ですが、適切な方法であることはめったにありません。
+個別の <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
+ブロックを作成するのがほぼ常に正しい方法です。非常に多数のバーチャルホストが
+ある場合は、<code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> を使用してこれらのホストを
+自動的に作成することを検討してください。</p>
+
+<p><code class="module"><a href="../mod/mod_macro.html">mod_macro</a></code> などのモジュールも、
+多数のバーチャルホストを動的に作成するのに便利です。</p>
+
+<p>ホスティングサービスがサーバ設定ファイルへのアクセスを提供せず、
+<code>.htaccess</code> ファイルを使用した設定に制限されている場合は、
+バーチャルホスト作成に <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を使用するのが
+適切な場合があります。</p>
+
+<p>それでも適切なアプローチと思われる場合に、これをどのように実現
+するかの詳細については、<a href="vhosts.html">mod_rewrite による
+バーチャルホスト</a>ドキュメントを参照してください。</p>
+
+</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">シンプルなプロキシ</a> <a title="Permanent link" href="#proxy" class="permalink">¶</a></h2>
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> は、書き換えた URI を
+<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> 経由で渡すための <a href="flags.html#flag_p">[P]</a>
+フラグを提供します。</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/?images(.*)" "http://imageserver.local/images$1" [P]</pre>
+
+
+<p>ただし、上の例のように実際のパターンマッチングが不要な場合は、
+<code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ディレクティブの方が
+適切な選択です。上の例は以下のように記述できます:</p>
+
+<pre class="prettyprint lang-config">ProxyPass "/images/" "http://imageserver.local/images/"</pre>
+
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> と <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> のどちらを使用する場合でも、
+バックエンドサーバから発行されるリダイレクトをキャッチするために
+<code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> ディレクティブを
+使用する必要があることに注意してください:</p>
+
+<pre class="prettyprint lang-config">ProxyPassReverse "/images/" "http://imageserver.local/images/"</pre>
+
+
+<p>同じスコープで他の <code>RewriteRule</code> が有効な場合は、
+<code>RewriteRule</code> は通常 <code>ProxyPass</code> よりも先に適用されるため、
+実現しようとしていることを横取りする可能性があり、代わりに
+<code>RewriteRule</code> を使用する必要がある場合があります。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="setenv" id="setenv">環境変数のテスト</a> <a title="Permanent link" href="#setenv" class="permalink">¶</a></h2>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> は、特定の環境変数やリクエストヘッダの
+有無に基づいて特定のアクションを実行するために頻繁に使用されます。
+これは <code class="directive"><a href="../mod/core.html#if"><If></a></code>
+ディレクティブを使用してより効率的に行えます。</p>
+
+<p>例えば、正規ホスト名を強制するために <code class="directive">RewriteRule</code>
+を使用する一般的なシナリオ、つまり <code>example.com</code> の代わりに
+<code>www.example.com</code> を使用させるシナリオを考えてみましょう。
+これは、次に示すように <code class="directive"><a href="../mod/core.html#if"><If></a></code>
+ディレクティブを使用して行えます:</p>
+
+<pre class="prettyprint lang-config"><If "req('Host') != 'www.example.com'">
+ Redirect "/" "http://www.example.com/"
+</If></pre>
+
+
+<p>このテクニックは、任意のリクエストヘッダ、レスポンスヘッダ、または
+環境変数に基づいてアクションを実行するために使用でき、多くの一般的な
+シナリオで <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を置き換えることができます。</p>
+
+<p>特に <code class="directive"><a href="../mod/core.html#if"><If></a></code> セクションや
+その他の特定のディレクティブで使用できる式の種類の概要については、
+<a href="../expr.html">式の評価ドキュメント</a>を参照してください。</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/avoid.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.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="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="EUC-KR"?>
+<!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="ko" xml:lang="ko"><head>
+<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_rewriteë¥� �¬ì�©í��ì§� ë§����� �� ê²½ì�� - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewriteë¥� �¬ì�©í��ì§� ë§����� �� ê²½ì��</h1>
+<div class="toplang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/avoid.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>�� 문��� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">참조 문ì��</a>ë¥� ë³´ì¶©�©ë����.
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� ���� ��� ����� ��� � ����,
+ì¦� �¬ì�©ì�� �¼í�´ì�� �� ��ë¥� �¤ë��©ë����.</p>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� �¤ë¥¸ ������ ë¶�족í�� �� ìµ�����
+���¨ì�¼ë� ê³��¤í�´ì�� �©ë����. �� ê°��¨í�� ������ ���� �� �´ë��
+�¬ì�©í��ë©� �¼ë���¤ë�½ê� ì·¨ì�½í��ë©� ��ì§� ê´�리í��ê¸� �´ë�¤ì�� �¤ì����
+�©ë����. �´ë�� �¤ë¥¸ ������ ê°��¥í��ì§� �´í�´í���� ê²���
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ���¬ì�� ���� 매ì�� ì¤�����
+�¨ê�������.</p>
+
+<p>�� ������ ì¤� ë§��� ê²��� �¹ì�� ��ë²� �¤ì������ ê·¸ë��ë¡�
+������ì§� ���� �� ���¼ë��ë¡�, �¨ì���� ����ë¥� ë³µì�¬í���� �¤ì����
+ë¶��¬ë�£ê¸°ë³´ë�¤ë�� �´í�´í���� ê²��� ì¤����©ë����.</p>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ê°� �¬ë�ë¥� ��구ì�� ê°��� �¼ë�����
+���©ì�� ìµ����� �´ê²°ì±��� ��ë²� �¤ì�� ���¼ì�� ���� ��ê·¼ì��
+����ë¡� ��ì§�ë§� ê·� ��ê·� ê¶����� ���� ê²½ì�°ì������. �¼ë� �¤ì��
+ì§����´ë�� ��ë²� �¤ì�� ���¼ì����ë§� �¬ì�©í�� �� ���µë����. �°ë�¼ì��
+.htaccess ���¼ë� �¬ì�©í�� �� ���� �¸ì�¤í�� ��ê²½ì�� ���¤ë©´
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� ��ì¡´í�´ì�� �� �� ���µë����.</p>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#redirect">�¨ì�� 리ë�¤ì�´ë����</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#alias">URL �� ���</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#vhosts">ê°��� �¸ì�¤í��</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxy">�¨ì�� ��ë¡���</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenv">��ê²� ë³��� ���¤í��</a></li>
+</ul><h3>Âü°í</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">모ë�� 문ì��</a></li><li><a href="intro.html">mod_rewrite ��ê°�</a></li><li><a href="remapping.html">리ë�¤ì�´ë����ê³� �¬ë§¤��</a></li><li><a href="access.html">��ê·� ����</a></li><li><a href="vhosts.html">ê°��� �¸ì�¤í��</a></li><li><a href="proxy.html">��ë¡���</a></li><li><a href="rewritemap.html">RewriteMap �¬ì�©í��ê¸�</a></li><li><a href="advanced.html">ê³�ê¸� 기ì��</a></li><li><a href="#comments_section">Comments</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="redirect" id="redirect">�¨ì�� 리ë�¤ì�´ë����</a> <a title="Permanent link" href="#redirect" class="permalink">¶</a></h2>
+
+
+<p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>�� <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code>�� <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> ì§����´ë�� ��ê³µí��ë©�,
+������ URL�� �¤ë¥¸ URLë¡� 리ë�¤ì�´ë���¸í���� ���¨ì�� ��ê³µí�©ë����.
+������ URL ���� URL �´ë���¤ë�� �¤ë¥¸ ê³³ì�¼ë� �´ë�¬í�� ì¢�ë¥���
+�¨ì�� 리ë�¤ì�´ë������ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ���� �� ì§����´ë��
+�¬ì�©í���� �����´ì�� �©ë����. <code>RedirectMatch</code>ë¥� �¬ì�©í��ë©�
+리ë�¤ì�´ë���� 기ì��� ��ê·� �������� �¬í�¨í�� �� ����
+<code>RewriteRule</code> �¬ì�©ì�� ë§��� �´ì���� ��ê³µí�©ë����.</p>
+
+<p><code>RewriteRule</code>�� �¼ë����� �©ë���� ��ì²� URL �´ë���¤ë��
+리ë�¤ì�´ë���¸í���� ê²�������. ��ë¥� �¤ì��, <code>/one</code> ������리ì��
+모ë�� URL�� <code>http://one.example.com/</code>�¼ë�
+리ë�¤ì�´ë���¸í��ê±°ë��, 모ë�� <code>http</code> ��ì²���
+<code>https</code>ë¡� 리ë�¤ì�´ë���¸í�´ì�� �� �� ���µë����.</p>
+
+<p>�´ë�¬í�� ���©ì�� <code>Redirect</code> ì§����´ë� �� �� ì²�리ë�©ë����.
+<code>Redirect</code>�� ê²½ë� ��ë³´ë�� ë³´ì¡´���¤ë�� ê²���
+기ì�µí��������. ì¦�, URL <code>/one</code>�� ���� 리ë�¤ì�´ë���¸ë��
+<code>/one/two.html</code> ë°�
+<code>/one/three/four.html</code>� ��� � ������ 모�
+URL�� 리ë�¤ì�´ë���¸í�©ë����.</p>
+
+<p><code>/one</code> ������ URL��
+<code>http://one.example.com</code>�¼ë� 리ë�¤ì�´ë���¸í���¤ë©´
+�¤ì��ê³� ê°��� ��������:</p>
+
+<pre class="prettyprint lang-config">Redirect "/one/" "http://one.example.com/"</pre>
+
+
+<p>������ �¸ì�¤í�¸ë��� �¤ë¥¸ ê²��¼ë� 리ë�¤ì�´ë���¸í���¤ë©´, ��ë¥� �¤ì��
+<code>example.com</code>�� <code>www.example.com</code>�¼ë�,
+<a href="remapping.html#canonicalhost">��ê·� �¸ì�¤í�¸ë�</a>
+�����¼ë�� 참조��������.</p>
+
+<p><code>http</code> URL�� <code>https</code>�
+리ë�¤ì�´ë���¸í���¤ë©´ �¤ì��ê³� ê°��� ��������:</p>
+
+<pre class="prettyprint lang-config"><VirtualHost *:80>
+ ServerName www.example.com
+ Redirect "/" "https://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:443>
+ ServerName www.example.com
+ # ... SSL �¤ì���� �¬ê¸°��
+</VirtualHost></pre>
+
+
+<p>ê°��� ë²����� �¤ë¥¸ <code>RewriteRule</code> ì§����´ê� ����
+경� �� ������ ������� ���� <code>RewriteRule</code>��
+�¬ì�©í���� ê²��� ������ �� ���µë����. �´ë�� ê°��� ë²�����
+<code>Redirect</code>�� <code>RewriteRule</code> ì§����´ê�
+���� �� �¤ì�� ���¼ì�� ������ ê´�ê³����� <code>RewriteRule</code>
+ì§����´ê� 먼ì�� �¤í����ê¸� ��문ì������.</p>
+
+<p><em>http���� https���</em> 리������� 경�, � ���
+�¤ì�� ���¼ì�� ��ê·¼í�� �� ��ê³� <code>.htaccess</code> ���¼ì����
+�� ������ �����´ì�� ���� ê²½ì�� <code>RewriteRule</code> �¬ì�©ì��
+�����©ë����.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="alias" id="alias">URL ë³�ì¹� ì§���</a> <a title="Permanent link" href="#alias" class="permalink">¶</a></h2>
+<p><code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> ì§����´ë��
+URI���� ������리�� 매��� ��공��, 보�
+<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> �¸ë���
+������리�����. <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>� �� 매���
+������ �� ��ì§�ë§�, �¨ì���±ê³¼ �±ë�¥ì�� �´ì��ë¡�
+<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>ê°� ���¸ë����
+방������.</p>
+
+<div class="example"><h3>Alias �¬ì��</h3><pre class="prettyprint lang-config">Alias "/cats" "/var/www/virtualhosts/felines/htdocs"</pre>
+</div>
+
+<p>
+��ë²� �¤ì�� ���¼ì�� ��ê·¼í�� �� ���� ê²½ì�� �� 매í���� ������ê¸� ����
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥� �¬ì�©í���� ê²��� ������ �� ���µë����.
+Alias�� ��ë²� ���� ê°����¸ì�¤í�� 컨í���¤í�¸ì����ë§� �¬ì�©í�� �� ���¼ë©°
+<code>.htaccess</code> ���¼ì������ �¬ì�©í�� �� ���µë����.
+</p>
+
+<p>��ë²����� <code>Options FollowSymLinks</code>ê°� ���±í������
+���¤ë©´ �¬ë³¼ë¦� ë§��¬ë�� ê°��� ê²��� �¬ì�±í���� �� �¤ë¥¸ ë°©ë���
+�� �� ���µë����.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="vhosts" id="vhosts">ê°��� �¸ì�¤í��</a> <a title="Permanent link" href="#vhosts" class="permalink">¶</a></h2>
+<p><a href="vhosts.html">mod_rewriteë¡� ê°��� �¸ì�¤í��</a>ë¥�
+ì²�리í�� �� ��ì§�ë§�, �¬ë�ë¥� ë°©ë��� ê±°ì�� ��������. ê°�ë³�
+<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
+ë¸�ë¡��� ë§����� ê²��� ê±°ì�� ���� �¬ë�ë¥� ë°©ë�������. ê°��� �¸ì�¤í�¸ê�
+매ì�� ë§��� ê²½ì�� �´ë�¬í�� �¸ì�¤í�¸ë�� �����¼ë� ���±í��ê¸� ����
+<code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> �¬ì�©ì�� ê³��¤í��������.</p>
+
+<p><code class="module"><a href="../mod/mod_macro.html">mod_macro</a></code>�� ��� 모��� ������ ���
+�¸ì�¤í�¸ë�� �����¼ë� ���±í���� �� ���©í�©ë����.</p>
+
+<p>��ë²� �¤ì�� ���¼ì�� ���� ��ê·� ê¶����� ��ê³µí��ì§� ���� �¸ì�¤í��
+��ë¹��¤ë�� �¬ì�©í��ê³� ���� <code>.htaccess</code> ���¼ì�� �¬ì�©í��
+�¤ì���¼ë� �������� ê²½ì�� ê°����¸ì�¤í�� ���±ì��
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥� �¬ì�©í���� ê²��� ������ ��
+���µë����.</p>
+
+<p>�´ê��� �¬ì���� �¬ë�ë¥� ��ê·� ë°©ë��¼ë� ë³´ì�¸ë�¤ë©´ �´ë�� �´ë�»ê�
+������ �� ����ì§��� ���� ���¸í�� �´ì�©ì��
+<a href="vhosts.html">mod_rewriteë¡� ê°��� �¸ì�¤í��</a> 문ì��ë¥�
+참조��������.</p>
+
+</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">�¨ì�� ��ë¡���</a> <a title="Permanent link" href="#proxy" class="permalink">¶</a></h2>
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+�¬ì���±ë�� URIë¥� <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>ë¥� �µí�� ���¬í��ê¸� ����
+<a href="flags.html#flag_p">[P]</a> ����그� ��공����.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/?images(.*)" "http://imageserver.local/images$1" [P]</pre>
+
+
+<p>ê·¸ë�¬ë�� ���� ����ì²��� �¤ì�� �¨í�� 매ì¹�� ������ì§� ����
+��� 경� <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>
+ì§����´ê� �� ���� ����������. �¬ê¸°�� ������ �¤ì��ê³� ê°���
+������ �� ���µë����:</p>
+
+<pre class="prettyprint lang-config">ProxyPass "/images/" "http://imageserver.local/images/"</pre>
+
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>�´ë��
+<code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>�´ë��,
+ë°±ì���� ��ë²����� ë°����� 리ë�¤ì�´ë���¸ë�� �¬ë�르ê� ���¬í��ê¸� ����
+<code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code>
+ì§����´ë�� �¬ì�©í�´ì�� ���¤ë�� ���� ������������:</p>
+
+<pre class="prettyprint lang-config">ProxyPassReverse "/images/" "http://imageserver.local/images/"</pre>
+
+
+<p>ê°��� ë²����� �¤ë¥¸ <code>RewriteRule</code>�� ���©ë��ê³� ����
+<code>RewriteRule</code>�� <code>ProxyPass</code>보� 먼�
+���©ë���� �������¤ë�� ������ ������ �� ���� ê²½ì��
+<code>RewriteRule</code>�� ���� �¬ì�©í�´ì�� �� �� ���µë����.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="setenv" id="setenv">��ê²� ë³��� ���¤í��</a> <a title="Permanent link" href="#setenv" class="permalink">¶</a></h2>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� �¹ì�� ��ê²� ë³��� ���� ��ì²�
+�¤ë���� ì¡´ì�� �¬ë��� �°ë�� �¹ì�� ������ �������� �� ��ì£�
+�¬ì�©ë�©ë����. �´ê��� <code class="directive"><a href="../mod/core.html#if"><If></a></code> ì§����´ë�� �¬ì�©í���� �� �¨ì�¨ì���¼ë�
+������ �� ���µë����.</p>
+
+<p>��ë¥� �¤ì��, <code class="directive">RewriteRule</code>��
+<code>example.com</code> ���� <code>www.example.com</code>�
+ê°��� ��ê·� �¸ì�¤í�¸ë��� ê°������� �� �¬ì�©ë���� �¼ë����� ����리ì�¤ë��
+ê³��¤í��������. �´ê��� �¬ê¸°�� ������ ��ë¡� <code class="directive"><a href="../mod/core.html#if"><If></a></code> ì§����´ë�� �¬ì�©í����
+������ �� ���µë����:</p>
+
+<pre class="prettyprint lang-config"><If "req('Host') != 'www.example.com'">
+ Redirect "/" "http://www.example.com/"
+</If></pre>
+
+
+<p>�� 기ì���� ��ì²� �¤ë��, ���� �¤ë�� ���� ��ê²� ë³����� 기ë���
+������ �������� �� �¬ì�©í�� �� ���¼ë©°, ë§��� �¼ë�����
+����리���� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>� ��체����.</p>
+
+<p><code class="directive"><a href="../mod/core.html#if"><If></a></code> �¹ì��ê³�
+�¹ì�� �¤ë¥¸ ì§����´ì���� �¬ì�©í�� �� ���� ������ ������ ����
+ê°����� �¹í�� <a href="../expr.html">������ ��ê°�
+문�</a>� 참조��������.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/avoid.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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>mod_rewrite Ne Zaman Kullanılmamalı - 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" type="text/javascript">
+</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></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="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.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite Ne Zaman Kullanılmamalı</h1>
+<div class="toplang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/avoid.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</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> hakkındaki belki de en önemli kavramlardan
+birini açıklar: ne zaman kullanılmaması gerektiğini.</p>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, diğer alternatiflerin yetersiz kaldığı
+durumlarda son çare olarak düşünülmelidir. Daha basit alternatifler
+varken kullanılması, kafa karıştırıcı, kırılgan ve bakımı zor
+yapılandırmalara yol açar. Hangi alternatiflerin mevcut olduğunu
+anlamak, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> konusunda uzmanlaşmanın çok
+önemli bir adımıdır.</p>
+
+<p>Bu örneklerin birçoğunun sizin sunucu yapılandırmanızda değişiklik
+yapılmadan çalışmayacağını unutmayın; bu nedenle örnekleri
+yapılandırmanıza kopyalayıp yapıştırmak yerine anlamanız
+önemlidir.</p>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülünün doğru araç olduğu en yaygın
+durum, en iyi çözümün sunucu yapılandırma dosyalarına erişim
+gerektirdiği ancak bu erişime sahip olmadığınız durumdur. Bazı
+yapılandırma yönergeleri yalnızca sunucu yapılandırma dosyasında
+kullanılabilir. Bu nedenle, yalnızca .htaccess dosyalarıyla
+çalışabileceğiniz bir barındırma ortamındaysanız,
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> kullanmanız gerekebilir.</p>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#redirect">Basit Yönlendirme</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#alias">URL Takma Adlandırma</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#vhosts">Sanal Konak Oluşturma</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxy">Basit Vekil Kullanımı</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenv">Ortam Değişkeni Sınaması</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="intro.html">mod_rewrite'a giriş</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="#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="redirect" id="redirect">Basit Yönlendirme</a> <a title="Permanent link" href="#redirect" class="permalink">¶</a></h2>
+
+
+<p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>, bir URL'yi başka birine yönlendirme
+aracı sağlayan <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code> ve
+<code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> yönergelerini
+sunar. Bir URL'nin veya bir URL sınıfının başka bir yere bu tür basit
+yönlendirmesi, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+yerine bu yönergeler kullanılarak gerçekleştirilmelidir.
+<code>RedirectMatch</code>, yönlendirme kriterlerinize düzenli ifade
+eklemenize olanak tanır ve <code>RewriteRule</code> kullanmanın
+avantajlarının birçoğunu sağlar.</p>
+
+<p><code>RewriteRule</code> için yaygın bir kullanım, URL'lerin tüm bir
+sınıfını yönlendirmektir. Örneğin, <code>/one</code> dizinindeki tüm
+URL'ler <code>http://one.example.com/</code> adresine yönlendirilmeli
+veya belki tüm <code>http</code> istekleri <code>https</code>'ye
+yönlendirilmelidir.</p>
+
+<p>Bu durumlar <code>Redirect</code> yönergesiyle daha iyi ele alınır.
+<code>Redirect</code> yönergesinin yol bilgisini koruduğunu
+unutmayın. Yani, <code>/one</code> URL'si için bir yönlendirme,
+<code>/one/two.html</code> ve <code>/one/three/four.html</code>
+gibi altındaki tüm URL'leri de yönlendirecektir.</p>
+
+<p><code>/one</code> altındaki URL'leri
+<code>http://one.example.com</code> adresine yönlendirmek için
+şunları yapın:</p>
+
+<pre class="prettyprint lang-config">Redirect "/one/" "http://one.example.com/"</pre>
+
+
+<p>Bir konak adını başka birine yönlendirmek için, örneğin
+<code>example.com</code>'u <code>www.example.com</code>'a yönlendirmek
+için <a href="remapping.html#canonicalhost">Kurallı Konak Adları</a>
+tarifine bakın.</p>
+
+<p><code>http</code> URL'lerini <code>https</code>'ye yönlendirmek
+için şunları yapın:</p>
+
+<pre class="prettyprint lang-config"><VirtualHost *:80>
+ ServerName www.example.com
+ Redirect "/" "https://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:443>
+ ServerName www.example.com
+ # ... SSL yapılandırması burada yer alır
+</VirtualHost></pre>
+
+
+<p><code>RewriteRule</code> kullanarak bu görevi gerçekleştirmek, aynı
+kapsamda başka <code>RewriteRule</code> yönergeleri varsa uygun
+olabilir. Çünkü aynı kapsamda <code>Redirect</code> ve
+<code>RewriteRule</code> yönergeleri olduğunda,
+<code>RewriteRule</code> yönergeleri yapılandırma dosyasındaki sıraya
+bakılmaksızın önce çalışacaktır.</p>
+
+<p><em>http-to-https</em> yönlendirmesi durumunda, ana sunucu
+yapılandırma dosyasına erişiminiz yoksa ve bu görevi bunun yerine bir
+<code>.htaccess</code> dosyasında gerçekleştirmek zorundaysanız,
+<code>RewriteRule</code> kullanımı uygun olacaktı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="alias" id="alias">URL Takma Adlandırma</a> <a title="Permanent link" href="#alias" class="permalink">¶</a></h2>
+<p><code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> yönergesi, bir
+URI'den bir dizine - genellikle <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> dışındaki bir dizine - eşleme
+sağlar. Bu eşlemeyi <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ile gerçekleştirmek
+mümkün olsa da, basitlik ve performans nedeniyle <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> tercih edilen yöntemdir.</p>
+
+<div class="example"><h3>Alias Kullanımı</h3><pre class="prettyprint lang-config">Alias "/cats" "/var/www/virtualhosts/felines/htdocs"</pre>
+</div>
+
+<p>
+Bu eşlemeyi gerçekleştirmek için <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+kullanımı, sunucu yapılandırma dosyalarına erişiminiz olmadığında
+uygun olabilir. Alias yalnızca sunucu veya sanal konak bağlamında
+kullanılabilir, <code>.htaccess</code> dosyasında kullanılamaz.
+</p>
+
+<p>Sunucunuzda <code>Options FollowSymLinks</code> etkinse, sembolik
+bağlantılar aynı şeyi gerçekleştirmenin başka bir yolu olabilir.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="vhosts" id="vhosts">Sanal Konak Oluşturma</a> <a title="Permanent link" href="#vhosts" class="permalink">¶</a></h2>
+<p><a href="vhosts.html">mod_rewrite ile sanal konakları</a> yönetmek
+mümkün olsa da, nadiren doğru yoldur. Ayrı ayrı <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> blokları
+oluşturmak neredeyse her zaman doğru yaklaşımdır. Çok sayıda sanal
+konağınız olması durumunda, bu konakları otomatik olarak oluşturmak
+için <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> kullanmayı düşünün.</p>
+
+<p><code class="module"><a href="../mod/mod_macro.html">mod_macro</a></code> gibi modüller de çok sayıda sanal konağı
+devingen olarak oluşturmak için yararlıdır.</p>
+
+<p>Sanal konak oluşturma için <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> kullanımı,
+sunucu yapılandırma dosyalarına erişim sağlamayan bir barındırma
+hizmeti kullanıyorsanız ve yapılandırmayı <code>.htaccess</code>
+dosyaları kullanarak yapmak zorundaysanız uygun olabilir.</p>
+
+<p>Yine de doğru yaklaşım gibi görünüyorsa, bunu nasıl
+gerçekleştirebileceğiniz hakkında daha fazla ayrıntı için <a href="vhosts.html">mod_rewrite ile sanal konaklar</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><a name="proxy" id="proxy">Basit Vekil Kullanımı</a> <a title="Permanent link" href="#proxy" class="permalink">¶</a></h2>
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, yeniden
+yazılmış URI'leri <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> üzerinden geçirmek için
+<a href="flags.html#flag_p">[P]</a> bayrağını sağlar.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/?images(.*)" "http://imageserver.local/images$1" [P]</pre>
+
+
+<p>Ancak birçok durumda, yukarıdaki örnekte gösterildiği gibi gerçek
+bir kalıp eşleştirmesine gerek olmadığında, <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> yönergesi daha iyi bir
+seçimdir. Buradaki örnek şöyle ifade edilebilir:</p>
+
+<pre class="prettyprint lang-config">ProxyPass "/images/" "http://imageserver.local/images/"</pre>
+
+
+<p>İster <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ister <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> kullanın,
+arka uç sunucu tarafından verilen yönlendirmeleri yakalamak için yine de
+<code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> yönergesini
+kullanmanız gerekeceğini unutmayın:</p>
+
+<pre class="prettyprint lang-config">ProxyPassReverse "/images/" "http://imageserver.local/images/"</pre>
+
+
+<p>Aynı kapsamda diğer <code>RewriteRule</code>'lar etkinse,
+<code>RewriteRule</code> kullanmanız gerekebilir; çünkü
+<code>RewriteRule</code> genellikle <code>ProxyPass</code>'tan önce
+etki eder ve yapmaya çalıştığınız şeyi geçersiz kılabilir.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="setenv" id="setenv">Ortam Değişkeni Sınaması</a> <a title="Permanent link" href="#setenv" class="permalink">¶</a></h2>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, belirli bir ortam değişkeninin veya
+istek başlığının varlığına veya yokluğuna bağlı olarak belirli bir
+eylem yapmak için sıklıkla kullanılır. Bu, <code class="directive"><a href="../mod/core.html#if"><If></a></code> yönergesi kullanılarak daha verimli bir
+şekilde yapılabilir.</p>
+
+<p>Örneğin, <code class="directive">RewriteRule</code> kullanılarak
+<code>www.example.com</code> gibi kurallı bir konak adının
+zorlanmasının yaygın senaryosunu ele alalım. Bu, burada gösterildiği
+gibi <code class="directive"><a href="../mod/core.html#if"><If></a></code>
+yönergesi kullanılarak yapılabilir:</p>
+
+<pre class="prettyprint lang-config"><If "req('Host') != 'www.example.com'">
+ Redirect "/" "http://www.example.com/"
+</If></pre>
+
+
+<p>Bu teknik, herhangi bir istek başlığına, yanıt başlığına veya ortam
+değişkenine dayalı eylemler yapmak için kullanılabilir ve birçok yaygın
+senaryoda <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> yerine geçer.</p>
+
+<p>Özellikle <code class="directive"><a href="../mod/core.html#if"><If></a></code>
+bölümlerinde ve belirli diğer yönergelerde kullanabileceğiniz ifade
+türlerine genel bir bakış için <a href="../expr.html">ifade
+değerlendirme belgelerine</a> bakın.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/avoid.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.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="http://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></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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="zh-cn" xml:lang="zh-cn"><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>何时不使用 mod_rewrite - Apache HTTP 服务器 版本 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP 服务器版本 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP 服务器</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../">版本 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>何时不使用 mod_rewrite</h1>
+<div class="toplang">
+<p><span>可用语言: </span><a href="../de/rewrite/avoid.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.html" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>本文档是 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">参考文档</a>的补充。它描述了关于
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 最重要的概念之一——
+即何时应避免使用它。</p>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 应被视为最后的手段,
+当其他替代方案不能满足需求时才使用。在有更简单替代方案的情况下使用它,
+会导致配置混乱、脆弱且难以维护。
+了解有哪些替代方案可用是掌握 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 的重要一步。</p>
+
+<p>请注意,这些示例中的许多不会在你的特定服务器配置中直接生效,
+因此理解它们非常重要,而不仅仅是将示例复制粘贴到你的配置中。</p>
+
+<p>最常见的适合使用 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 的情况是,
+最佳解决方案需要访问服务器配置文件,而你没有该访问权限。
+某些配置指令只能在服务器配置文件中使用。因此,
+如果你处于只能使用 .htaccess 文件的托管环境中,
+你可能需要借助 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>。</p>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#redirect">简单重定向</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#alias">URL 别名</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#vhosts">虚拟主机</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxy">简单代理</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenv">环境变量测试</a></li>
+</ul><h3>参见</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">模块文档</a></li><li><a href="intro.html">mod_rewrite 简介</a></li><li><a href="remapping.html">重定向和重映射</a></li><li><a href="access.html">访问控制</a></li><li><a href="vhosts.html">虚拟主机</a></li><li><a href="proxy.html">代理</a></li><li><a href="rewritemap.html">使用 RewriteMap</a></li><li><a href="advanced.html">高级技术</a></li><li><a href="#comments_section">评论</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="redirect" id="redirect">简单重定向</a> <a title="Permanent link" href="#redirect" class="permalink">¶</a></h2>
+
+
+<p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> 提供了 <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code> 和 <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> 指令,
+它们提供了将一个 URL 重定向到另一个 URL 的方法。
+这种简单的将一个 URL 或一类 URL 重定向到其他地方的操作,
+应使用这些指令而不是
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 来完成。
+<code>RedirectMatch</code> 允许你在重定向条件中包含正则表达式,
+提供了使用 <code>RewriteRule</code> 的许多好处。</p>
+
+<p><code>RewriteRule</code> 的一个常见用途是重定向整类 URL。
+例如,<code>/one</code> 目录中的所有 URL 必须重定向到
+<code>http://one.example.com/</code>,或者所有 <code>http</code>
+请求必须重定向到 <code>https</code>。</p>
+
+<p>这些情况更适合使用 <code>Redirect</code> 指令处理。
+请记住,<code>Redirect</code> 会保留路径信息。也就是说,
+对 URL <code>/one</code> 的重定向也会重定向其下的所有 URL,
+例如 <code>/one/two.html</code> 和 <code>/one/three/four.html</code>。</p>
+
+<p>要将 <code>/one</code> 下的 URL 重定向到
+<code>http://one.example.com</code>,请执行以下操作:</p>
+
+<pre class="prettyprint lang-config">Redirect "/one/" "http://one.example.com/"</pre>
+
+
+<p>要将一个主机名重定向到另一个,例如将
+<code>example.com</code> 重定向到 <code>www.example.com</code>,
+请参阅<a href="remapping.html#canonicalhost">规范主机名</a>方案。</p>
+
+<p>要将 <code>http</code> URL 重定向到 <code>https</code>,
+请执行以下操作:</p>
+
+<pre class="prettyprint lang-config"><VirtualHost *:80>
+ ServerName www.example.com
+ Redirect "/" "https://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:443>
+ ServerName www.example.com
+ # ... SSL 配置放在这里
+</VirtualHost></pre>
+
+
+<p>当同一作用域中存在其他 <code>RewriteRule</code> 指令时,
+使用 <code>RewriteRule</code> 来完成此任务可能是合适的。
+这是因为,当 <code>Redirect</code> 和 <code>RewriteRule</code>
+指令在同一作用域中时,无论它们在配置文件中的出现顺序如何,
+<code>RewriteRule</code> 指令都会先执行。</p>
+
+<p>对于 <em>http 到 https</em> 的重定向,
+当你无权访问主服务器配置文件,
+而被迫在 <code>.htaccess</code> 文件中执行此任务时,
+使用 <code>RewriteRule</code> 是合适的。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="alias" id="alias">URL 别名</a> <a title="Permanent link" href="#alias" class="permalink">¶</a></h2>
+<p><code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>
+指令提供了从 URI 到目录的映射——通常是
+<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> 之外的目录。
+虽然可以使用 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 执行此映射,
+但出于简便性和性能原因,<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>
+是首选方法。</p>
+
+<div class="example"><h3>使用 Alias</h3><pre class="prettyprint lang-config">Alias "/cats" "/var/www/virtualhosts/felines/htdocs"</pre>
+</div>
+
+<p>
+当你无权访问服务器配置文件时,使用 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+执行此映射可能是合适的。Alias 只能在服务器或虚拟主机上下文中使用,
+不能在 <code>.htaccess</code> 文件中使用。
+</p>
+
+<p>如果你的服务器启用了 <code>Options FollowSymLinks</code>,
+符号链接将是实现同样目标的另一种方式。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="vhosts" id="vhosts">虚拟主机</a> <a title="Permanent link" href="#vhosts" class="permalink">¶</a></h2>
+<p>虽然可以<a href="vhosts.html">使用 mod_rewrite 处理虚拟主机</a>,
+但这很少是正确的方式。创建单独的
+<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
+块几乎总是正确的做法。如果你有大量的虚拟主机,
+可以考虑使用 <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> 来自动创建这些主机。</p>
+
+<p><code class="module"><a href="../mod/mod_macro.html">mod_macro</a></code> 等模块对于动态创建大量虚拟主机也很有用。</p>
+
+<p>当你使用的托管服务不提供服务器配置文件的访问权限,
+你只能使用 <code>.htaccess</code> 文件进行配置时,
+使用 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 创建虚拟主机可能是合适的。</p>
+
+<p>请参阅<a href="vhosts.html">使用 mod_rewrite 的虚拟主机</a>文档,
+了解如何实现此目的(如果这仍然看起来是正确的方法)。</p>
+
+</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">简单代理</a> <a title="Permanent link" href="#proxy" class="permalink">¶</a></h2>
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 提供了 <a href="flags.html#flag_p">[P]</a> 标志,用于将重写后的 URI 通过
+<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> 传递。</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/?images(.*)" "http://imageserver.local/images$1" [P]</pre>
+
+
+<p>但是,在许多情况下,当不需要实际的模式匹配时(如上面的示例所示),
+<code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> 指令是更好的选择。
+上面的示例可以表示为:</p>
+
+<pre class="prettyprint lang-config">ProxyPass "/images/" "http://imageserver.local/images/"</pre>
+
+
+<p>请注意,无论你使用
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 还是
+<code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>,
+你仍然需要使用
+<code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code>
+指令来捕获后端服务器发出的重定向:</p>
+
+<pre class="prettyprint lang-config">ProxyPassReverse "/images/" "http://imageserver.local/images/"</pre>
+
+
+<p>当同一作用域中有其他 <code>RewriteRule</code> 生效时,
+你可能需要使用 <code>RewriteRule</code> 代替,
+因为 <code>RewriteRule</code> 通常会在 <code>ProxyPass</code>
+之前生效,可能会抢先处理你要完成的操作。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="setenv" id="setenv">环境变量测试</a> <a title="Permanent link" href="#setenv" class="permalink">¶</a></h2>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 经常用于根据特定环境变量或请求头
+是否存在来执行特定操作。使用
+<code class="directive"><a href="../mod/core.html#if"><If></a></code>
+指令可以更高效地完成此操作。</p>
+
+<p>例如,考虑使用 <code class="directive">RewriteRule</code>
+来强制使用规范主机名(如 <code>www.example.com</code> 而不是
+<code>example.com</code>)的常见场景。可以使用
+<code class="directive"><a href="../mod/core.html#if"><If></a></code>
+指令来完成,如下所示:</p>
+
+<pre class="prettyprint lang-config"><If "req('Host') != 'www.example.com'">
+ Redirect "/" "http://www.example.com/"
+</If></pre>
+
+
+<p>此技术可用于根据任何请求头、响应头或环境变量执行操作,
+在许多常见场景中替代 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>。</p>
+
+<p>特别请参阅<a href="../expr.html">表达式求值文档</a>,
+了解在 <code class="directive"><a href="../mod/core.html#if"><If></a></code>
+配置段和某些其他指令中可以使用哪些类型的表达式。</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>可用语言: </span><a href="../de/rewrite/avoid.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/avoid.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/avoid.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/avoid.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/avoid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/avoid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/avoid.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/avoid.html" title="Simplified Chinese"> zh-cn </a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2026 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许可证.</p>
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<variant>de</variant>
<variant>en</variant>
<variant>es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant>ja</variant>
<variant>ko</variant>
<variant>tr</variant>
# GENERATED FROM XML -- DO NOT EDIT
+URI: flags.html.de
+Content-Language: de
+Content-type: text/html; charset=ISO-8859-1
+
URI: flags.html.en.utf8
Content-Language: en
Content-type: text/html; charset=UTF-8
+URI: flags.html.es.utf8
+Content-Language: es
+Content-type: text/html; charset=UTF-8
+
URI: flags.html.fr.utf8
Content-Language: fr
Content-type: text/html; charset=UTF-8
+
+URI: flags.html.ja.utf8
+Content-Language: ja
+Content-type: text/html; charset=UTF-8
+
+URI: flags.html.ko.euc-kr
+Content-Language: ko
+Content-type: text/html; charset=EUC-KR
+
+URI: flags.html.tr.utf8
+Content-Language: tr
+Content-type: text/html; charset=UTF-8
+
+URI: flags.html.zh-cn.utf8
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!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="de" xml:lang="de"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>RewriteRule-Flags - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>RewriteRule-Flags</h1>
+<div class="toplang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/flags.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+<p>Dieses Dokument behandelt die Flags, die für die Direktive
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> verfügbar sind,
+und bietet detaillierte Erklärungen und Beispiele.</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">Einführung</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_b">B (Rückreferenzen maskieren)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bnp">BNP|backrefnoplus (Leerzeichen nicht zu + maskieren)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bctls">BCTLS</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bne">BNE</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_c">C|chain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_co">CO|cookie</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_dpi">DPI|discardpath</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_e">E|env</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_end">END</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_f">F|forbidden</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_g">G|gone</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_h">H|handler</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_l">L|last</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_n">N|next</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_nc">NC|nocase</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ne">NE|noescape</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ns">NS|nosubreq</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_p">P|proxy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_pt">PT|passthrough</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsa">QSA|qsappend</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsd">QSD|qsdiscard</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsl">QSL|qslast</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_r">R|redirect</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_s">S|skip</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_t">T|type</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unsafe_allow_3f">UnsafeAllow3F</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unsafe_prefix_stat">UnsafePrefixStat</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unc">UNC</a></li>
+</ul><h3>Siehe auch</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Moduldokumentation</a></li><li><a href="intro.html">Einführung in mod_rewrite</a></li><li><a href="remapping.html">Umleitung und Neuzuordnung</a></li><li><a href="access.html">Zugriffskontrolle</a></li><li><a href="vhosts.html">Virtuelle Hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Verwendung von RewriteMap</a></li><li><a href="advanced.html">Fortgeschrittene Techniken</a></li><li><a href="avoid.html">Wann man mod_rewrite nicht verwenden sollte</a></li><li><a href="#comments_section">Kommentare</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="introduction" id="introduction">Einführung</a> <a title="Permanent link" href="#introduction" class="permalink">¶</a></h2>
+<p>Das Verhalten einer <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+kann durch ein oder mehrere Flags modifiziert werden. Flags werden in
+eckigen Klammern am Ende der Regel angegeben, und mehrere Flags werden
+durch Kommas getrennt.</p>
+<pre class="prettyprint lang-config">RewriteRule pattern target [Flag1,Flag2,Flag3]</pre>
+
+
+<p>Jedes Flag hat (mit wenigen Ausnahmen) eine Kurzform, wie
+<code>CO</code>, sowie eine Langform, wie <code>cookie</code>.
+Obwohl es am häufigsten ist, die Kurzform zu verwenden, wird empfohlen,
+sich mit der Langform vertraut zu machen, damit Sie sich merken können,
+was jedes Flag bewirken soll. Einige Flags akzeptieren ein oder mehrere
+Argumente. Flags unterscheiden nicht zwischen Groß- und Kleinschreibung.</p>
+
+<p>Flags, die mit der Anfrage verknüpfte Metadaten ändern (T=, H=, E=),
+haben im Verzeichniskontext und htaccess-Kontext keine Wirkung, wenn eine
+Ersetzung (außer '-') während derselben Runde der Umschreibungsverarbeitung
+durchgeführt wird.</p>
+
+<p>Hier werden alle verfügbaren Flags vorgestellt, zusammen mit einem
+Beispiel, wie Sie diese verwenden könnten.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_b" id="flag_b">B (Rückreferenzen maskieren)</a> <a title="Permanent link" href="#flag_b" class="permalink">¶</a></h2>
+<p>Das [B]-Flag weist <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> an, nicht-alphanumerische
+Zeichen vor der Anwendung der Transformation zu maskieren.</p>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> muss URLs demaskieren, bevor sie zugeordnet werden,
+sodass Rückreferenzen zum Zeitpunkt ihrer Anwendung demaskiert sind.
+Mit dem B-Flag werden nicht-alphanumerische Zeichen in Rückreferenzen
+maskiert. Betrachten Sie beispielsweise die folgende Regel:</p>
+
+<p>Für eine ähnliche Maskierung von Server-Variablen siehe die
+ "escape"-<a href="#mapfunc">Zuordnungsfunktion</a></p>
+
+<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1"</pre>
+
+
+<p>Bei einem Suchbegriff von 'x & y/z' kodiert ein Browser diesen als
+'x%20%26%20y%2Fz', sodass die Anfrage 'search/x%20%26%20y%2Fz' lautet. Ohne das B-Flag
+wird diese Rewrite-Regel auf 'search.php?term=x & y/z' abgebildet, was
+keine gültige URL ist und daher als
+<code>search.php?term=x%20&y%2Fz=</code> kodiert würde, was nicht beabsichtigt war.</p>
+
+<p>Mit gesetztem B-Flag bei derselben Regel werden die Parameter erneut
+kodiert, bevor sie an die Ausgabe-URL übergeben werden, was zu einer korrekten
+Zuordnung zu <code>/search.php?term=x%20%26%20y%2Fz</code> führt.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1" [B,PT]</pre>
+
+
+<p>Beachten Sie, dass Sie möglicherweise auch <code class="directive"><a href="../mod/core.html#allowencodedslashes">AllowEncodedSlashes</a></code> auf <code>On</code> setzen müssen,
+damit dieses spezielle Beispiel funktioniert, da httpd keine kodierten
+Schrägstriche in URLs zulässt und bei deren Auftreten einen 404-Fehler
+zurückgibt.</p>
+
+<p>Diese Maskierung ist besonders notwendig in einer Proxy-Situation,
+wenn das Backend bei einer nicht-maskierten URL Probleme haben könnte.</p>
+
+<p>Eine Alternative zu diesem Flag ist die Verwendung einer <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, die gegen %{THE_REQUEST} prüft, welche Strings
+in kodierter Form erfasst.</p>
+
+<p>Ab Version 2.4.26 können Sie die Maskierung auf bestimmte Zeichen
+in Rückreferenzen beschränken, indem Sie diese auflisten: <code>[B=#?;]</code>.
+Hinweis: Das Leerzeichen kann in der Liste der zu maskierenden Zeichen
+verwendet werden, aber Sie müssen das gesamte dritte Argument der
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> in Anführungszeichen
+setzen und das Leerzeichen darf nicht das letzte Zeichen in der Liste sein.</p>
+
+<pre class="prettyprint lang-config"># Leerzeichen und Fragezeichen maskieren. Die Anführungszeichen um das letzte Argument
+# sind erforderlich, wenn ein Leerzeichen enthalten ist.
+RewriteRule "^search/(.*)$" "/search.php?term=$1" "[B= ?]"</pre>
+
+
+<p>Um die auf diese Weise maskierten Zeichen einzuschränken, siehe <a href="#flag_bne">#flag_bne</a>
+ und <a href="#flag_bctls">#flag_bctls</a></p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bnp" id="flag_bnp">BNP|backrefnoplus (Leerzeichen nicht zu + maskieren)</a> <a title="Permanent link" href="#flag_bnp" class="permalink">¶</a></h2>
+<p>Das [BNP]-Flag weist <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> an, das Leerzeichen
+in einer Rückreferenz zu %20 statt zu '+' zu maskieren. Nützlich, wenn die
+Rückreferenz im Pfadteil statt im Query-String verwendet wird.</p>
+
+<pre class="prettyprint lang-config"># Leerzeichen im Pfad zu %20 maskieren statt zu +, wie es bei Formularübermittlungen
+# über den Query-String verwendet wird
+RewriteRule "^search/(.*)$" "/search.php/$1" "[B,BNP]"</pre>
+
+
+<p>Dieses Flag ist ab Version 2.4.26 verfügbar.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bctls" id="flag_bctls">BCTLS</a> <a title="Permanent link" href="#flag_bctls" class="permalink">¶</a></h2>
+<p>Das [BCTLS]-Flag ähnelt dem [B]-Flag, maskiert aber nur
+Steuerzeichen und das Leerzeichen. Dies ist dieselbe Menge von
+Zeichen, die abgelehnt werden, wenn sie unkodiert in den Query-String
+kopiert werden.</p>
+
+<pre class="prettyprint lang-config"># Steuerzeichen und Leerzeichen maskieren
+RewriteRule "^search/(.*)$" "/search.php/$1" "[BCTLS]"</pre>
+
+
+<p>Dieses Flag ist ab Version 2.5.1 verfügbar.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bne" id="flag_bne">BNE</a> <a title="Permanent link" href="#flag_bne" class="permalink">¶</a></h2>
+<p>Die Liste der Zeichen in [BNE=...] wird als Ausnahmen von den
+Zeichen der [B]- oder [BCTLS]-Flags behandelt. Die aufgelisteten Zeichen
+werden nicht maskiert.</p>
+
+<pre class="prettyprint lang-config"># Standardzeichen maskieren, aber / beibehalten
+RewriteRule "^search/(.*)$" "/search.php?term=$1" "[B,BNE=/]"</pre>
+
+
+<p>Dieses Flag ist ab Version 2.5.1 verfügbar.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_c" id="flag_c">C|chain</a> <a title="Permanent link" href="#flag_c" class="permalink">¶</a></h2>
+<p>Das [C]- oder [chain]-Flag zeigt an, dass die <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> mit der nächsten Regel
+verkettet ist. Wenn die Regel übereinstimmt, wird sie wie gewohnt
+verarbeitet und die Kontrolle geht an die nächste Regel über. Wenn sie
+jedoch nicht übereinstimmt, werden die nächste Regel und alle weiteren
+verketteten Regeln übersprungen.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_co" id="flag_co">CO|cookie</a> <a title="Permanent link" href="#flag_co" class="permalink">¶</a></h2>
+<p>Das [CO]- oder [cookie]-Flag ermöglicht es Ihnen, ein Cookie zu setzen,
+wenn eine bestimmte <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+übereinstimmt. Das Argument besteht aus drei erforderlichen und fünf
+optionalen Feldern.</p>
+
+<p>Die vollständige Syntax für das Flag einschließlich aller Attribute
+lautet wie folgt:</p>
+
+<div class="example"><p><code>
+[CO=NAME:VALUE:DOMAIN:lifetime:path:secure:httponly:samesite]
+</code></p></div>
+
+<p>Wenn ein literales ':'-Zeichen in einem der Cookie-Felder benötigt wird,
+steht eine alternative Syntax zur Verfügung. Um die alternative Syntax zu
+verwenden, sollte der Cookie-"Name" mit einem ';'-Zeichen eingeleitet werden,
+und die Feldtrenner sollten als ';' angegeben werden.</p>
+
+<div class="example"><p><code>
+[CO=;NAME;VALUE:MOREVALUE;DOMAIN;lifetime;path;secure;httponly;samesite]
+</code></p></div>
+
+<p>Sie müssen einen Namen, einen Wert und eine Domain angeben, damit das
+Cookie gesetzt wird.</p>
+
+<dl>
+<dt>Domain</dt>
+<dd>Die Domain, für die das Cookie gültig sein soll. Dies kann ein
+Hostname sein, wie <code>www.example.com</code>, oder eine Domain,
+wie <code>.example.com</code>. Sie muss aus mindestens zwei durch einen
+Punkt getrennten Teilen bestehen. Das heißt, sie kann nicht einfach nur
+<code>.com</code> oder <code>.net</code> sein. Cookies dieser Art werden
+durch das Cookie-Sicherheitsmodell verboten.</dd>
+</dl>
+
+<p>Sie können optional auch die folgenden Werte setzen:</p>
+
+<dl>
+<dt>Lebensdauer</dt>
+<dd>Die Zeit, für die das Cookie bestehen bleibt, in Minuten.</dd>
+<dd>Ein Wert von 0 bedeutet, dass das Cookie nur für die aktuelle
+Browser-Sitzung bestehen bleibt. Dies ist der Standardwert, wenn keiner
+angegeben wird.</dd>
+<dd>Ein negativer Wert bewirkt, dass das Cookie im Browser gelöscht wird.</dd>
+
+<dt>Pfad</dt>
+<dd>Der Pfad auf der aktuellen Website, für den das Cookie gültig ist,
+wie <code>/customers/</code> oder <code>/files/download/</code>.</dd>
+<dd>Standardmäßig ist dies auf <code>/</code> gesetzt - also die gesamte
+Website.</dd>
+
+<dt>Secure</dt>
+<dd>Wenn auf <code>secure</code>, <code>true</code> oder <code>1</code>
+gesetzt, wird das Cookie nur über sichere (https-)Verbindungen
+übertragen.</dd>
+
+<dt>httponly</dt>
+<dd>Wenn auf <code>HttpOnly</code>, <code>true</code> oder
+<code>1</code> gesetzt, wird das Cookie mit dem <code>HttpOnly</code>-Flag
+versehen, was bedeutet, dass das Cookie für JavaScript-Code in Browsern,
+die diese Funktion unterstützen, nicht zugänglich ist.</dd>
+
+<dt>samesite</dt>
+<dd>Wenn auf etwas anderes als <code>false</code> oder <code>0</code> gesetzt,
+wird das <code>SameSite</code>-Attribut auf den angegebenen Wert gesetzt.
+Typische Werte sind <code>None</code>, <code>Lax</code> und
+<code>Strict</code>. Verfügbar ab Version 2.5.1.</dd>
+</dl>
+
+<p>Betrachten Sie dieses Beispiel:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine On
+RewriteRule "^/index\.html" "-" [CO=frontdoor:yes:.example.com:1440:/]</pre>
+
+
+<p>In diesem Beispiel schreibt die Regel die Anfrage nicht um.
+Das "-"-Umschreibungsziel weist <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> an, die Anfrage
+unverändert weiterzuleiten. Stattdessen setzt sie ein Cookie
+namens 'frontdoor' auf den Wert 'yes'. Das Cookie ist für jeden Host
+in der <code>.example.com</code>-Domain gültig. Es läuft in 1440
+Minuten (24 Stunden) ab und wird für alle URIs zurückgegeben.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_dpi" id="flag_dpi">DPI|discardpath</a> <a title="Permanent link" href="#flag_dpi" class="permalink">¶</a></h2>
+<p>Das DPI-Flag bewirkt, dass der PATH_INFO-Teil des umgeschriebenen URI
+verworfen wird.</p>
+<p>Dieses Flag ist ab Version 2.2.12 verfügbar.</p>
+<p>Im Verzeichniskontext wird der URI, gegen den jede
+<code class="directive">RewriteRule</code> prüft, aus der Verkettung der aktuellen
+Werte von URI und PATH_INFO gebildet.</p>
+
+<p>Der aktuelle URI kann der ursprünglich vom Client angeforderte URI sein,
+das Ergebnis einer vorherigen Runde der <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>-Verarbeitung
+oder das Ergebnis einer früheren Regel in der aktuellen Runde der
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>-Verarbeitung.</p>
+
+<p>Im Gegensatz dazu spiegelt der PATH_INFO, der vor jeder Regel an den
+URI angehängt wird, nur den Wert von PATH_INFO vor dieser Runde der
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>-Verarbeitung wider. Wenn daher große Teile
+des URI in einer Ersetzung in mehreren <code class="directive">RewriteRule</code>-Direktiven
+abgeglichen und kopiert werden, ohne zu berücksichtigen, welche Teile des
+URI vom aktuellen PATH_INFO stammen, kann der endgültige URI mehrere
+Kopien von PATH_INFO enthalten.</p>
+
+<p>Verwenden Sie dieses Flag bei jeder Ersetzung, bei der der PATH_INFO,
+der aus der vorherigen Zuordnung dieser Anfrage zum Dateisystem resultierte,
+nicht von Interesse ist. Dieses Flag vergisst dauerhaft den PATH_INFO,
+der vor dieser Runde der <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>-Verarbeitung festgelegt wurde.
+PATH_INFO wird erst neu berechnet, wenn die aktuelle Runde der
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>-Verarbeitung abgeschlossen ist. Nachfolgende Regeln
+während dieser Runde der Verarbeitung sehen nur das direkte Ergebnis der
+Ersetzungen, ohne angehängten PATH_INFO.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_e" id="flag_e">E|env</a> <a title="Permanent link" href="#flag_e" class="permalink">¶</a></h2>
+<p>Mit dem [E]- oder [env]-Flag können Sie den Wert einer Umgebungsvariable
+setzen. Beachten Sie, dass einige Umgebungsvariablen nach der Ausführung
+der Regel gesetzt werden können, wodurch das von Ihnen Gesetzte überschrieben
+wird. Siehe <a href="../env.html">das Dokument zu Umgebungsvariablen</a>
+für weitere Details zur Funktionsweise von Umgebungsvariablen.</p>
+
+<p>Die vollständige Syntax für dieses Flag lautet:</p>
+
+<pre class="prettyprint lang-config">[E=VAR:VAL]
+[E=!VAR]</pre>
+
+
+<p><code>VAL</code> kann Rückreferenzen (<code>$N</code> oder
+<code>%N</code>) enthalten, die expandiert werden.</p>
+
+<p>In der Kurzform</p>
+
+<div class="example"><p><code>
+[E=VAR]
+</code></p></div>
+
+<p>können Sie die Umgebungsvariable namens <code>VAR</code> auf einen
+leeren Wert setzen.</p>
+
+<p>Die Form</p>
+
+<div class="example"><p><code>
+[E=!VAR]
+</code></p></div>
+
+<p>ermöglicht es, eine zuvor gesetzte Umgebungsvariable namens
+<code>VAR</code> zu löschen.</p>
+
+<p>Umgebungsvariablen können dann in verschiedenen Kontexten verwendet
+werden, einschließlich CGI-Programmen, anderen RewriteRule-Direktiven
+oder CustomLog-Direktiven.</p>
+
+<p>Das folgende Beispiel setzt eine Umgebungsvariable namens 'image' auf
+den Wert '1', wenn der angeforderte URI eine Bilddatei ist. Dann wird
+diese Umgebungsvariable verwendet, um diese Anfragen aus dem
+Zugriffsprotokoll auszuschließen.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "\.(png|gif|jpg)$" "-" [E=image:1]
+CustomLog "logs/access_log" combined env=!image</pre>
+
+
+<p>Beachten Sie, dass derselbe Effekt mit <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> erzielt werden kann. Diese
+Technik wird als Beispiel angeboten, nicht als Empfehlung.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_end" id="flag_end">END</a> <a title="Permanent link" href="#flag_end" class="permalink">¶</a></h2>
+<p>Die Verwendung des [END]-Flags beendet nicht nur die aktuelle Runde der
+Umschreibungsverarbeitung (wie [L]), sondern verhindert auch jede
+nachfolgende Umschreibungsverarbeitung im Verzeichniskontext (htaccess).</p>
+
+<p>Dies gilt nicht für neue Anfragen, die aus externen Umleitungen
+resultieren.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_f" id="flag_f">F|forbidden</a> <a title="Permanent link" href="#flag_f" class="permalink">¶</a></h2>
+<p>Die Verwendung des [F]-Flags bewirkt, dass der Server einen
+403-Forbidden-Statuscode an den Client zurückgibt. Obwohl dasselbe
+Verhalten mit der <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code>-Direktive
+erreicht werden kann, ermöglicht dies mehr Flexibilität bei der Zuweisung
+eines Forbidden-Status.</p>
+
+<p>Die folgende Regel verbietet das Herunterladen von <code>.exe</code>-Dateien
+von Ihrem Server.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "\.exe" "-" [F]</pre>
+
+
+<p>Dieses Beispiel verwendet die "-"-Syntax für das Umschreibungsziel,
+was bedeutet, dass der angeforderte URI nicht geändert wird. Es gibt
+keinen Grund, zu einem anderen URI umzuschreiben, wenn Sie die Anfrage
+verweigern möchten.</p>
+
+<p>Bei der Verwendung von [F] wird ein [L] impliziert - das heißt, die
+Antwort wird sofort zurückgegeben und keine weiteren Regeln werden
+ausgewertet.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_g" id="flag_g">G|gone</a> <a title="Permanent link" href="#flag_g" class="permalink">¶</a></h2>
+<p>Das [G]-Flag zwingt den Server, einen 410-Gone-Status mit der
+Antwort zurückzugeben. Dies zeigt an, dass eine Ressource früher
+verfügbar war, aber nicht mehr verfügbar ist.</p>
+
+<p>Wie beim [F]-Flag verwenden Sie typischerweise die "-"-Syntax für das
+Umschreibungsziel, wenn Sie das [G]-Flag verwenden:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "oldproduct" "-" [G,NC]</pre>
+
+
+<p>Bei der Verwendung von [G] wird ein [L] impliziert - das heißt, die
+Antwort wird sofort zurückgegeben und keine weiteren Regeln werden
+ausgewertet.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_h" id="flag_h">H|handler</a> <a title="Permanent link" href="#flag_h" class="permalink">¶</a></h2>
+<p>Erzwingt, dass die resultierende Anfrage mit dem angegebenen
+Handler behandelt wird. Beispielsweise könnte man dies verwenden, um
+alle Dateien ohne Dateiendung vom PHP-Handler parsen zu lassen:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "!\." "-" [H=application/x-httpd-php]</pre>
+
+
+<p>
+Der obige reguläre Ausdruck - <code>!\.</code> - stimmt mit jeder Anfrage
+überein, die kein literales <code>.</code>-Zeichen enthält.
+</p>
+
+<p>Dies kann auch verwendet werden, um den Handler basierend auf
+bestimmten Bedingungen zu erzwingen. Beispielsweise ermöglicht der
+folgende Ausschnitt, der im Server-Kontext verwendet wird, dass
+<code>.php</code>-Dateien von <code>mod_php</code> <em>angezeigt</em>
+werden, wenn sie mit der <code>.phps</code>-Erweiterung angefordert werden:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^(/source/.+\.php)s$" "$1" [H=application/x-httpd-php-source]</pre>
+
+
+<p>Der obige reguläre Ausdruck - <code>^(/source/.+\.php)s$</code> - stimmt
+mit jeder Anfrage überein, die mit <code>/source/</code> beginnt, gefolgt von
+einem oder mehreren Zeichen, gefolgt von <code>.phps</code>. Die Rückreferenz
+$1 verweist auf die erfasste Übereinstimmung innerhalb der Klammern des
+regulären Ausdrucks.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_l" id="flag_l">L|last</a> <a title="Permanent link" href="#flag_l" class="permalink">¶</a></h2>
+<p>Das [L]-Flag bewirkt, dass <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> die Verarbeitung
+des Regelsatzes stoppt. In den meisten Kontexten bedeutet dies, dass bei
+Übereinstimmung der Regel keine weiteren Regeln verarbeitet werden. Dies
+entspricht dem <code>last</code>-Befehl in Perl oder dem <code>break</code>-Befehl
+in C. Verwenden Sie dieses Flag, um anzuzeigen, dass die aktuelle Regel
+sofort angewendet werden soll, ohne weitere Regeln zu berücksichtigen.</p>
+
+<p>Wenn Sie <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> in
+<code>.htaccess</code>-Dateien oder in
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>-Abschnitten
+verwenden, ist es wichtig, ein gewisses Verständnis dafür zu haben, wie die
+Regeln verarbeitet werden. Die vereinfachte Form davon ist, dass nach der
+Verarbeitung der Regeln die umgeschriebene Anfrage an die URL-Parsing-Engine
+zurückgegeben wird. Es ist möglich, dass bei der Verarbeitung der
+umgeschriebenen Anfrage die <code>.htaccess</code>-Datei oder der
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>-Abschnitt
+erneut angetroffen wird und der Regelsatz von Anfang an erneut durchlaufen
+wird. Am häufigsten geschieht dies, wenn eine der Regeln eine Umleitung
+auslöst - entweder intern oder extern - wodurch der Anfrageprozess von
+vorne beginnt.</p>
+
+<p>Es ist daher wichtig, wenn Sie <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>-Direktiven in einem dieser
+Kontexte verwenden, dass Sie explizite Maßnahmen ergreifen, um
+Regelschleifen zu vermeiden, und sich nicht ausschließlich auf das [L]-Flag
+verlassen, um die Ausführung einer Reihe von Regeln zu beenden, wie
+unten gezeigt.</p>
+
+<p>Ein alternatives Flag, [END], kann verwendet werden, um nicht nur die
+aktuelle Runde der Umschreibungsverarbeitung zu beenden, sondern auch
+jede nachfolgende Umschreibungsverarbeitung im Verzeichniskontext (htaccess)
+zu verhindern. Dies gilt nicht für neue Anfragen, die aus externen
+Umleitungen resultieren.</p>
+
+<p>Das hier gegebene Beispiel schreibt jede Anfrage auf
+<code>index.php</code> um und gibt die ursprüngliche Anfrage als
+Query-String-Argument an <code>index.php</code> weiter. Die <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> stellt jedoch sicher, dass die
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> übersprungen wird,
+wenn die Anfrage bereits für <code>index.php</code> bestimmt ist.</p>
+
+<pre class="prettyprint lang-config">RewriteBase "/"
+RewriteCond "%{REQUEST_URI}" !=/index.php
+RewriteRule "^(.*)" "/index.php?req=$1" [L,PT]</pre>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_n" id="flag_n">N|next</a> <a title="Permanent link" href="#flag_n" class="permalink">¶</a></h2>
+<p>
+Das [N]-Flag bewirkt, dass der Regelsatz von oben neu gestartet wird,
+wobei das bisherige Ergebnis des Regelsatzes als Ausgangspunkt verwendet wird.
+Verwenden Sie es mit äußerster Vorsicht, da es zu Schleifen führen kann.
+</p>
+<p>
+Das [Next]-Flag könnte beispielsweise verwendet werden, wenn Sie einen
+bestimmten String oder Buchstaben wiederholt in einer Anfrage ersetzen
+möchten. Das hier gezeigte Beispiel ersetzt A überall in einer Anfrage
+durch B und fährt damit fort, bis keine weiteren A mehr zu ersetzen sind.
+</p>
+<pre class="prettyprint lang-config">RewriteRule "(.*)A(.*)" "$1B$2" [N]</pre>
+
+<p>Sie können sich dies als <code>while</code>-Schleife vorstellen: Solange
+dieses Muster noch übereinstimmt (d.h. solange der URI noch ein
+<code>A</code> enthält), führe diese Ersetzung durch (d.h. ersetze das
+<code>A</code> durch ein <code>B</code>).</p>
+
+<p>Ab Version 2.5.0 gibt dieses Modul nach 10.000 Iterationen einen Fehler
+zurück, um vor unbeabsichtigten Schleifen zu schützen. Eine alternative
+maximale Anzahl von Iterationen kann durch Hinzufügen zum N-Flag angegeben
+werden.</p>
+<pre class="prettyprint lang-config"># Bereit, 1 Zeichen pro Schleifendurchlauf zu ersetzen
+RewriteRule "(.+)[><;]$" "$1" [N=32000]
+# ... oder nach 10 Schleifen aufgeben
+RewriteRule "(.+)[><;]$" "$1" [N=10]</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_nc" id="flag_nc">NC|nocase</a> <a title="Permanent link" href="#flag_nc" class="permalink">¶</a></h2>
+<p>Die Verwendung des [NC]-Flags bewirkt, dass die <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ohne Berücksichtigung der
+Groß-/Kleinschreibung abgeglichen wird. Das heißt, es spielt keine Rolle,
+ob Buchstaben im abgeglichenen URI als Groß- oder Kleinbuchstaben
+erscheinen.</p>
+
+<p>Im folgenden Beispiel wird jede Anfrage nach einer Bilddatei an Ihren
+dedizierten Bildserver weitergeleitet. Der Abgleich erfolgt ohne
+Berücksichtigung der Groß-/Kleinschreibung, sodass beispielsweise sowohl
+<code>.jpg</code>- als auch <code>.JPG</code>-Dateien akzeptiert werden.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "(.*\.(jpg|gif|png))$" "http://images.example.com$1" [P,NC]</pre>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ne" id="flag_ne">NE|noescape</a> <a title="Permanent link" href="#flag_ne" class="permalink">¶</a></h2>
+<p>Standardmäßig werden bei einer <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>,
+die zu einer externen Umleitung führt, alle Zeichen in der Ausgabe, die
+nicht in der folgenden sicheren Menge enthalten sind, in ihre
+Hexcode-Äquivalente (prozentcodiert) umgewandelt:</p>
+
+<ul>
+ <li>Alphanumerische Zeichen: <code>A-Z</code>, <code>a-z</code>,
+ <code>0-9</code></li>
+ <li>Sonderzeichen: <code>$-_.+!*'(),:;@&=/~</code></li>
+</ul>
+
+<p>Beispielsweise würde <code>#</code> in <code>%23</code> umgewandelt
+und <code>?</code> in <code>%3F</code>. Das <code>%</code>-Zeichen
+wird ebenfalls maskiert (zu <code>%25</code>), was bedeutet, dass jede
+bereits vorhandene Prozentkodierung in der Ersetzung doppelt kodiert wird.</p>
+
+<p>Die Verwendung des [NE]-Flags verhindert diese Maskierung und ermöglicht,
+dass Zeichen wie <code>#</code> und <code>?</code> unverändert an die
+Umleitungs-URL weitergegeben werden.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/anchor/(.+)" "/bigpage.html#$1" [NE,R]</pre>
+
+
+<p>
+Das obige Beispiel leitet <code>/anchor/xyz</code> auf
+<code>/bigpage.html#xyz</code> um. Ohne [NE] würde das #-Zeichen in
+sein Hexcode-Äquivalent <code>%23</code> umgewandelt, was dann zu einem
+404-Nicht-Gefunden-Fehler führen würde.
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ns" id="flag_ns">NS|nosubreq</a> <a title="Permanent link" href="#flag_ns" class="permalink">¶</a></h2>
+<p>Die Verwendung des [NS]-Flags verhindert, dass die Regel auf
+Unteranfragen angewendet wird. Beispielsweise ist eine Seite, die mittels
+SSI (Server Side Include) eingebunden wird, eine Unteranfrage, und Sie
+möchten möglicherweise Umschreibungen bei diesen Unteranfragen vermeiden.
+Auch wenn <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> versucht, Informationen über mögliche
+Standarddateien des Verzeichnisses herauszufinden (wie
+<code>index.html</code>-Dateien), handelt es sich um eine interne
+Unteranfrage, und Sie möchten häufig Umschreibungen bei solchen
+Unteranfragen vermeiden. Bei Unteranfragen ist es nicht immer nützlich
+und kann sogar Fehler verursachen, wenn der vollständige Regelsatz
+angewendet wird. Verwenden Sie dieses Flag, um problematische Regeln
+auszuschließen.</p>
+
+<p>Um zu entscheiden, ob Sie diese Regel verwenden sollten oder nicht: Wenn
+Sie URLs mit CGI-Skripten voranstellen, um deren Verarbeitung durch das
+CGI-Skript zu erzwingen, werden Sie wahrscheinlich bei Unteranfragen auf
+Probleme (oder erheblichen Overhead) stoßen. In diesen Fällen verwenden
+Sie dieses Flag.</p>
+
+<p>
+Bilder, JavaScript-Dateien oder CSS-Dateien, die als Teil einer HTML-Seite
+geladen werden, sind keine Unteranfragen - der Browser fordert sie als
+separate HTTP-Anfragen an.
+</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_p" id="flag_p">P|proxy</a> <a title="Permanent link" href="#flag_p" class="permalink">¶</a></h2>
+<p>Die Verwendung des [P]-Flags bewirkt, dass die Anfrage von
+<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> behandelt und über eine Proxy-Anfrage verarbeitet
+wird. Wenn Sie beispielsweise möchten, dass alle Bildanfragen von einem
+Backend-Bildserver behandelt werden, könnten Sie Folgendes tun:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "/(.*)\.( jpg|gif|png)$" "http://images.example.com/$1.$2" [P]</pre>
+
+
+<p>Die Verwendung des [P]-Flags impliziert [L] - das heißt, die Anfrage
+wird sofort durch den Proxy geleitet und nachfolgende Regeln werden nicht
+berücksichtigt.</p>
+
+<p>
+Sie müssen sicherstellen, dass der Ersetzungsstring ein gültiger URI ist
+(typischerweise beginnend mit <code>http://</code><em>hostname</em>),
+der von <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> verarbeitet werden kann. Andernfalls
+erhalten Sie einen Fehler vom Proxy-Modul. Verwenden Sie dieses Flag,
+um eine leistungsfähigere Implementierung der <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>-Direktive zu erreichen und
+entfernte Inhalte in den Namensraum des lokalen Servers einzubinden.</p>
+
+<div class="warning">
+<h3>Sicherheitswarnung</h3>
+<p>Seien Sie vorsichtig beim Aufbau der Ziel-URL der Regel und bedenken Sie
+die Sicherheitsauswirkungen, wenn Sie dem Client Einfluss auf die Menge
+der URLs gewähren, für die Ihr Server als Proxy fungiert. Stellen Sie
+sicher, dass Schema und Hostname-Teil der URL entweder fest sind oder dem
+Client keinen unangemessenen Einfluss gewähren.</p>
+</div>
+
+<div class="warning">
+<h3>Leistungswarnung</h3>
+<p>Die Verwendung dieses Flags löst die Nutzung von <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> aus,
+ohne Verwaltung persistenter Verbindungen, da in diesem Fall der
+Standard-Worker verwendet wird, der kein Connection-Pooling/-Reuse
+durchführt.</p>
+<p>Um persistente Verbindungen zu nutzen, müssen Sie einen
+<code class="directive"><a href="../mod/mod_proxy.html#proxy">Proxy</a></code>-Block mindestens für den
+Schema- und Host-Teil der Ziel-URL einrichten, der eine
+<code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code>-Direktive enthält,
+in der Sie z.B. ein Timeout setzen.</p>
+<p>Wenn Sie es mit <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> oder
+<code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code> einrichten,
+werden persistente Verbindungen automatisch verwendet.</p>
+</div>
+
+<p>Hinweis: <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> muss aktiviert sein, um dieses
+Flag verwenden zu können.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_pt" id="flag_pt">PT|passthrough</a> <a title="Permanent link" href="#flag_pt" class="permalink">¶</a></h2>
+
+<p>
+Das Ziel (oder der Ersetzungsstring) in einer RewriteRule wird
+standardmäßig als Dateipfad behandelt. Die Verwendung des [PT]-Flags
+bewirkt, dass es stattdessen als URI behandelt wird. Das heißt, die
+Verwendung des [PT]-Flags bewirkt, dass das Ergebnis der <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> durch die
+URL-Zuordnung zurückgeleitet wird, sodass standortbasierte Zuordnungen
+wie <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code> oder <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> beispielsweise wirksam
+werden können.
+</p>
+
+<p>
+Wenn Sie beispielsweise einen <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>
+für /icons haben und eine <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> dorthin zeigt, sollten
+Sie das [PT]-Flag verwenden, um sicherzustellen, dass der
+<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> ausgewertet wird.
+</p>
+
+<pre class="prettyprint lang-config">Alias "/icons" "/usr/local/apache/icons"
+RewriteRule "/pics/(.+)\.jpg$" "/icons/$1.gif" [PT]</pre>
+
+
+<p>
+Das Weglassen des [PT]-Flags in diesem Fall führt dazu, dass der Alias
+ignoriert wird und ein 'Datei nicht gefunden'-Fehler zurückgegeben wird.
+</p>
+
+<p>Das <code>PT</code>-Flag impliziert das <code>L</code>-Flag:
+Die Umschreibung wird gestoppt, um die Anfrage an die
+nächste Verarbeitungsphase weiterzuleiten.</p>
+
+<p>Beachten Sie, dass das <code>PT</code>-Flag in Verzeichniskontexten
+wie <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>-Abschnitten
+oder in <code>.htaccess</code>-Dateien impliziert ist. Die einzige
+Möglichkeit, dies zu umgehen, ist die Umschreibung zu <code>-</code>.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsa" id="flag_qsa">QSA|qsappend</a> <a title="Permanent link" href="#flag_qsa" class="permalink">¶</a></h2>
+<p>
+Wenn der Ersetzungs-URI einen Query-String enthält, ist das Standardverhalten
+von <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, den vorhandenen
+Query-String zu verwerfen und durch den neu generierten zu ersetzen.
+Die Verwendung des [QSA]-Flags bewirkt, dass die Query-Strings kombiniert
+werden.
+</p>
+
+<p>Betrachten Sie die folgende Regel:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA]</pre>
+
+
+<p>Mit dem [QSA]-Flag wird eine Anfrage für <code>/pages/123?one=two</code>
+auf <code>/page.php?page=123&one=two</code> abgebildet. Ohne das
+[QSA]-Flag wird dieselbe Anfrage auf <code>/page.php?page=123</code>
+abgebildet - das heißt, der vorhandene Query-String wird verworfen.
+</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsd" id="flag_qsd">QSD|qsdiscard</a> <a title="Permanent link" href="#flag_qsd" class="permalink">¶</a></h2>
+<p>
+Wenn der angeforderte URI einen Query-String enthält und der Ziel-URI
+nicht, ist das Standardverhalten von <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, diesen Query-String in den
+Ziel-URI zu kopieren. Die Verwendung des [QSD]-Flags bewirkt, dass der
+Query-String verworfen wird.
+</p>
+
+<p>Dieses Flag ist ab Version 2.4.0 verfügbar.</p>
+
+<p>
+Die gemeinsame Verwendung von [QSD] und [QSA] führt dazu, dass [QSD]
+Vorrang hat.
+</p>
+
+<p>
+Wenn der Ziel-URI einen Query-String hat, wird das Standardverhalten
+beobachtet - das heißt, der ursprüngliche Query-String wird verworfen und
+durch den Query-String im <code>RewriteRule</code>-Ziel-URI ersetzt.
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsl" id="flag_qsl">QSL|qslast</a> <a title="Permanent link" href="#flag_qsl" class="permalink">¶</a></h2>
+<p>
+Standardmäßig trennt das erste (linkeste) Fragezeichen in der Ersetzung
+den Pfad vom Query-String. Die Verwendung des [QSL]-Flags weist
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> an, stattdessen
+die beiden Komponenten beim letzten (rechtesten) Fragezeichen zu trennen.
+</p>
+
+<p>
+Dies ist nützlich bei der Zuordnung zu Dateien, die literale Fragezeichen
+in ihrem Dateinamen haben. Wenn kein Query-String in der Ersetzung
+verwendet wird, kann ein Fragezeichen in Kombination mit diesem Flag
+angehängt werden.
+</p>
+
+<p>Dieses Flag ist ab Version 2.4.19 verfügbar.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_r" id="flag_r">R|redirect</a> <a title="Permanent link" href="#flag_r" class="permalink">¶</a></h2>
+<p>
+Die Verwendung des [R]-Flags bewirkt, dass eine HTTP-Umleitung an den
+Browser gesendet wird. Wenn eine vollqualifizierte URL angegeben wird
+(das heißt, einschließlich <code>http://servername/</code>), wird eine
+Umleitung an diesen Ort durchgeführt. Andernfalls werden das aktuelle
+Protokoll, der Servername und die Portnummer verwendet, um die URL zu
+generieren, die mit der Umleitung gesendet wird.
+</p>
+
+<p>
+<em>Jeder</em> gültige HTTP-Antwort-Statuscode kann angegeben werden,
+mit der Syntax [R=305], wobei standardmäßig ein 302-Statuscode verwendet
+wird, wenn keiner angegeben ist. Der angegebene Statuscode muss nicht
+unbedingt ein Umleitungs-(3xx-)Statuscode sein. Wenn jedoch ein Statuscode
+außerhalb des Umleitungsbereichs (300-399) liegt, wird der
+Ersetzungsstring vollständig verworfen und die Umschreibung gestoppt,
+als ob <code>L</code> verwendet worden wäre.</p>
+
+<p>Zusätzlich zu Antwort-Statuscodes können Sie auch den Umleitungsstatus
+mit ihren symbolischen Namen angeben: <code>temp</code> (Standard),
+<code>permanent</code> oder <code>seeother</code>.</p>
+
+<p>
+Sie werden fast immer [R] in Verbindung mit [L] verwenden wollen (also
+[R,L]), da das [R]-Flag allein <code>http://thishost[:thisport]</code> dem
+URI voranstellt, dies aber dann an die nächste Regel im Regelsatz
+weitergibt, was häufig zu 'Ungültiger URI in Anfrage'-Warnungen führen kann.
+</p>
+
+<p>Hinweis: httpd unterstützt nur Statuscodes, die in der HTTP-Spezifikation
+enthalten sind. Die Verwendung eines nicht erkannten Statuscodes führt zu
+einem 500-Fehler und einer Fehlermeldung im Fehlerprotokoll.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_s" id="flag_s">S|skip</a> <a title="Permanent link" href="#flag_s" class="permalink">¶</a></h2>
+<p>Das [S]-Flag wird verwendet, um Regeln zu überspringen, die Sie nicht
+ausführen möchten. Die Syntax des Skip-Flags ist [S=<em>N</em>], wobei
+<em>N</em> die Anzahl der zu überspringenden Regeln angibt (vorausgesetzt,
+die <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> und alle
+vorhergehenden <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>-Direktiven
+stimmen überein). Dies kann als <code>goto</code>-Anweisung in Ihrem
+Umschreibungsregelsatz betrachtet werden. Im folgenden Beispiel möchten
+wir die <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> nur
+ausführen, wenn der angeforderte URI keiner tatsächlichen Datei entspricht.</p>
+
+<pre class="prettyprint lang-config"># Ist die Anfrage für eine nicht existierende Datei?
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+# Falls ja, überspringe diese zwei RewriteRules
+RewriteRule ".?" "-" [S=2]
+
+RewriteRule "(.*\.gif)" "images.php?$1"
+RewriteRule "(.*\.html)" "docs.php?$1"</pre>
+
+
+<p>Diese Technik ist nützlich, weil eine <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> nur auf die unmittelbar
+darauf folgende <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+angewendet wird. Wenn Sie also eine <code>RewriteCond</code> auf mehrere
+<code>RewriteRule</code>s anwenden möchten, besteht eine Möglichkeit darin,
+diese Bedingungen zu negieren und eine <code>RewriteRule</code> mit einem
+[Skip]-Flag hinzuzufügen. Sie können damit Pseudo-if-then-else-Konstrukte
+erstellen: Die letzte Regel der then-Klausel wird zu
+<code>skip=N</code>, wobei N die Anzahl der Regeln in der
+else-Klausel ist:</p>
+<pre class="prettyprint lang-config"># Existiert die Datei?
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+# Erstelle ein if-then-else-Konstrukt, indem 3 Zeilen übersprungen werden, wenn wir zur "else"-Klausel wollten.
+RewriteRule ".?" "-" [S=3]
+
+# WENN die Datei existiert, dann:
+ RewriteRule "(.*\.gif)" "images.php?$1"
+ RewriteRule "(.*\.html)" "docs.php?$1"
+ # Überspringe die "else"-Klausel.
+ RewriteRule ".?" "-" [S=1]
+# SONST...
+ RewriteRule "(.*)" "404.php?file=$1"
+# ENDE</pre>
+
+
+<p>Es ist wahrscheinlich einfacher, diese Art der Konfiguration mit den
+Direktiven <code class="directive"><If></code>, <code class="directive"><ElseIf></code> und <code class="directive"><Else></code> zu erreichen.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_t" id="flag_t">T|type</a> <a title="Permanent link" href="#flag_t" class="permalink">¶</a></h2>
+<p>Setzt den MIME-Typ, mit dem die resultierende Antwort gesendet wird.
+Dies hat denselben Effekt wie die <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code>-Direktive.</p>
+
+<p>Sie könnten beispielsweise die folgende Technik verwenden, um
+Perl-Quellcode als Klartext bereitzustellen, wenn er auf eine bestimmte
+Weise angefordert wird:</p>
+
+<pre class="prettyprint lang-config"># .pl-Dateien als Klartext bereitstellen
+RewriteRule "\.pl$" "-" [T=text/plain]</pre>
+
+
+<p>Oder wenn Sie eine Kamera haben, die JPEG-Bilder ohne Dateiendungen
+produziert, könnten Sie erzwingen, dass diese Bilder mit dem korrekten
+MIME-Typ bereitgestellt werden, basierend auf ihren Dateinamen:</p>
+
+<pre class="prettyprint lang-config"># Dateien mit 'IMG' im Namen sind jpg-Bilder.
+RewriteRule "IMG" "-" [T=image/jpg]</pre>
+
+
+<p>Bitte beachten Sie, dass dies ein triviales Beispiel ist und besser mit
+<code class="directive"><a href="../mod/core.html#filesmatch"><FilesMatch></a></code> gelöst werden
+könnte. Berücksichtigen Sie immer die alternativen Lösungen für ein Problem,
+bevor Sie auf Umschreibung zurückgreifen, die stets eine weniger
+effiziente Lösung darstellt als die Alternativen.</p>
+
+<p>
+Bei Verwendung im Verzeichniskontext verwenden Sie nur <code>-</code> (Bindestrich)
+als Ersetzung <em>für die gesamte Runde der <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>-Verarbeitung</em>,
+da sonst der mit diesem Flag gesetzte MIME-Typ durch eine interne
+Neuverarbeitung verloren geht (einschließlich nachfolgender Runden der
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>-Verarbeitung). Das <code>L</code>-Flag kann in
+diesem Kontext nützlich sein, um die <em>aktuelle</em> Runde der
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>-Verarbeitung zu beenden.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unsafe_allow_3f" id="flag_unsafe_allow_3f">UnsafeAllow3F</a> <a title="Permanent link" href="#flag_unsafe_allow_3f" class="permalink">¶</a></h2>
+ <p>Das Setzen dieses Flags ist erforderlich, um eine Umschreibung
+ fortzusetzen, wenn die zu schreibende HTTP-Anfrage ein kodiertes
+ Fragezeichen '%3f' enthält und das umgeschriebene Ergebnis ein '?' in
+ der Ersetzung hat. Dies schützt vor einer bösartigen URL, die eine
+ Erfassung und Neuersetzung des kodierten Fragezeichens ausnutzt.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unsafe_prefix_stat" id="flag_unsafe_prefix_stat">UnsafePrefixStat</a> <a title="Permanent link" href="#flag_unsafe_prefix_stat" class="permalink">¶</a></h2>
+ <p>Das Setzen dieses Flags ist erforderlich bei Server-Kontext-Ersetzungen,
+ die mit einer Variable oder Rückreferenz beginnen und zu einem
+ Dateisystempfad aufgelöst werden. Diesen Ersetzungen wird nicht das
+ Document Root vorangestellt. Dies schützt vor einer bösartigen URL,
+ die die expandierte Ersetzung auf einen unerwarteten
+ Dateisystemstandort abbilden lässt.</p>
+
+ <p>Available in Apache HTTP Server 2.5.1 and later.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unc" id="flag_unc">UNC</a> <a title="Permanent link" href="#flag_unc" class="permalink">¶</a></h2>
+ <p>Das Setzen dieses Flags verhindert das Zusammenführen mehrerer
+ führender Schrägstriche, wie sie in Windows-UNC-Pfaden verwendet werden.
+ Das Flag ist nicht erforderlich, wenn die Regelersetzung mit mehreren
+ literalen Schrägstrichen beginnt.</p>
+
+ <p>Available in Apache HTTP Server 2.5.1 and later.</p>
+</div></div>
+<div class="bottomlang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/flags.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.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 />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>RewriteRule Flags</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/flags.html" title="English"> en </a> |
-<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/flags.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
<p>This document discusses the flags which are available to the
<p>Available in Apache HTTP Server 2.5.1 and later.</p>
</div></div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/flags.html" title="English"> en </a> |
-<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/flags.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="es" xml:lang="es"><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>Banderas de RewriteRule - Servidor HTTP Apache Versión 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p>
+<p class="apache">Versión 2.5 del Servidor HTTP Apache</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/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Banderas de RewriteRule</h1>
+<div class="toplang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/flags.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+<p>Este documento describe las banderas que están disponibles para la
+directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>,
+proporcionando explicaciones detalladas y ejemplos.</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introducción</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_b">B (escapar referencias inversas)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bnp">BNP|backrefnoplus (no escapar espacio a +)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bctls">BCTLS</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bne">BNE</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_c">C|chain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_co">CO|cookie</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_dpi">DPI|discardpath</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_e">E|env</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_end">END</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_f">F|forbidden</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_g">G|gone</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_h">H|handler</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_l">L|last</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_n">N|next</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_nc">NC|nocase</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ne">NE|noescape</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ns">NS|nosubreq</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_p">P|proxy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_pt">PT|passthrough</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsa">QSA|qsappend</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsd">QSD|qsdiscard</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsl">QSL|qslast</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_r">R|redirect</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_s">S|skip</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_t">T|type</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unsafe_allow_3f">UnsafeAllow3F</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unsafe_prefix_stat">UnsafePrefixStat</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unc">UNC</a></li>
+</ul><h3>Consulte también</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentación del módulo</a></li><li><a href="intro.html">Introducción a mod_rewrite</a></li><li><a href="remapping.html">Redirección y remapeo</a></li><li><a href="access.html">Control de acceso</a></li><li><a href="vhosts.html">Hosts virtuales</a></li><li><a href="proxy.html">Proxy</a></li><li><a href="rewritemap.html">Uso de RewriteMap</a></li><li><a href="advanced.html">Técnicas avanzadas</a></li><li><a href="avoid.html">Cuándo no usar mod_rewrite</a></li><li><a href="#comments_section">Comentarios</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="introduction" id="introduction">Introducción</a> <a title="Enlace permanente" href="#introduction" class="permalink">¶</a></h2>
+<p>Una <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> puede tener
+su comportamiento modificado por una o más banderas. Las banderas se incluyen entre
+corchetes al final de la regla, y múltiples banderas se separan
+con comas.</p>
+<pre class="prettyprint lang-config">RewriteRule pattern target [Flag1,Flag2,Flag3]</pre>
+
+
+<p>Cada bandera (con algunas excepciones) tiene una forma corta, como
+<code>CO</code>, así como una forma más larga, como <code>cookie</code>.
+Aunque es más común usar
+la forma corta, se recomienda que se familiarice con la
+forma larga, para que recuerde qué se supone que hace cada bandera.
+Algunas banderas toman uno o más argumentos. Las banderas no distinguen entre mayúsculas y minúsculas.</p>
+
+<p>Las banderas que alteran metadatos asociados con la solicitud (T=, H=, E=)
+no tienen efecto en contexto per-directorio y htaccess, cuando una sustitución
+(distinta de '-') se realiza durante la misma ronda de procesamiento de reescritura.
+</p>
+
+<p>Aquí se presentan cada una de las banderas disponibles, junto con un ejemplo
+de cómo podría usarlas.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_b" id="flag_b">B (escapar referencias inversas)</a> <a title="Enlace permanente" href="#flag_b" class="permalink">¶</a></h2>
+<p>La bandera [B] indica a <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> que escape los caracteres no alfanuméricos
+antes de aplicar la transformación.</p>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> tiene que desescapar URLs antes de mapearlas,
+por lo que las referencias inversas se desescapan en el momento en que se aplican.
+Usando la bandera B, los caracteres no alfanuméricos en las referencias inversas
+se escaparán. Por ejemplo, considere la regla:</p>
+
+<p>Para un escape similar de variables del servidor, vea
+ la <a href="#mapfunc">función de mapeo</a> "escape"</p>
+
+
+<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1"</pre>
+
+
+<p>Dado un término de búsqueda de 'x & y/z', un navegador lo codificará como
+'x%20%26%20y%2Fz', haciendo la solicitud 'search/x%20%26%20y%2Fz'. Sin la bandera B,
+esta regla de reescritura mapeará a 'search.php?term=x & y/z', que
+no es una URL válida, y por lo tanto sería codificada como
+<code>search.php?term=x%20&y%2Fz=</code>, que no era lo que se pretendía.</p>
+
+<p>Con la bandera B establecida en esta misma regla, los parámetros se re-codifican
+antes de pasarse a la URL de salida, resultando en un mapeo correcto a
+<code>/search.php?term=x%20%26%20y%2Fz</code>.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1" [B,PT]</pre>
+
+
+<p>Tenga en cuenta que también puede necesitar establecer <code class="directive"><a href="../mod/core.html#allowencodedslashes">AllowEncodedSlashes</a></code> a <code>On</code> para que este
+ejemplo particular funcione, ya que httpd no permite barras codificadas en URLs, y
+devuelve un 404 si ve una.</p>
+
+<p>Este escape es particularmente necesario en una situación de proxy,
+cuando el backend puede fallar si se le presenta una URL sin escapar.</p>
+
+<p>Una alternativa a esta bandera es usar una <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> para capturar contra %{THE_REQUEST} que capturará
+cadenas en la forma codificada.</p>
+
+<p>En 2.4.26 y posterior, puede limitar el escape a caracteres específicos
+en las referencias inversas listándolos: <code>[B=#?;]</code>. Nota: El carácter
+de espacio puede usarse en la lista de caracteres a escapar, pero debe entrecomillar
+el tercer argumento completo de <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+y el espacio no debe ser el último carácter en la lista.</p>
+
+<pre class="prettyprint lang-config"># Escapar espacios y signos de interrogación. Las comillas alrededor del argumento final
+# son necesarias cuando se incluye un espacio.
+RewriteRule "^search/(.*)$" "/search.php?term=$1" "[B= ?]"</pre>
+
+
+<p>Para limitar los caracteres escapados de esta manera, vea <a href="#flag_bne">#flag_bne</a>
+ y <a href="#flag_bctls">#flag_bctls</a></p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bnp" id="flag_bnp">BNP|backrefnoplus (no escapar espacio a +)</a> <a title="Enlace permanente" href="#flag_bnp" class="permalink">¶</a></h2>
+<p>La bandera [BNP] indica a <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> que escape el carácter de espacio
+en una referencia inversa a %20 en lugar de '+'. Útil cuando la referencia inversa
+se usará en el componente de ruta en lugar de la cadena de consulta.</p>
+
+<pre class="prettyprint lang-config"># Escapar espacios a %20 en la ruta en lugar de + como se usa en el envío de formularios a través de
+# la cadena de consulta
+RewriteRule "^search/(.*)$" "/search.php/$1" "[B,BNP]"</pre>
+
+
+
+<p>Esta bandera está disponible en la versión 2.4.26 y posterior.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bctls" id="flag_bctls">BCTLS</a> <a title="Enlace permanente" href="#flag_bctls" class="permalink">¶</a></h2>
+<p>La bandera [BCTLS] es similar a la bandera [B], pero solo escapa
+caracteres de control y el carácter de espacio. Este es el mismo conjunto de
+caracteres rechazados cuando se copian en la cadena de consulta sin codificar.
+</p>
+
+<pre class="prettyprint lang-config"># Escapar caracteres de control y espacios
+RewriteRule "^search/(.*)$" "/search.php/$1" "[BCTLS]"</pre>
+
+
+<p>Esta bandera está disponible en la versión 2.5.1 y posterior.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bne" id="flag_bne">BNE</a> <a title="Enlace permanente" href="#flag_bne" class="permalink">¶</a></h2>
+<p>La lista de caracteres en [BNE=...] se trata como exclusiones de los
+caracteres de las banderas [B] o [BCTLS]. Los caracteres listados no serán
+escapados.
+</p>
+
+<pre class="prettyprint lang-config"># Escapar los caracteres predeterminados, pero dejar /
+RewriteRule "^search/(.*)$" "/search.php?term=$1" "[B,BNE=/]"</pre>
+
+
+<p>Esta bandera está disponible en la versión 2.5.1 y posterior.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_c" id="flag_c">C|chain</a> <a title="Enlace permanente" href="#flag_c" class="permalink">¶</a></h2>
+<p>La bandera [C] o [chain] indica que la <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> está encadenada a la siguiente
+regla. Es decir, si la regla coincide, entonces se procesa como de costumbre y
+el control pasa a la siguiente regla. Sin embargo, si no coincide, entonces
+la siguiente regla, y cualquier otra regla que esté encadenada, se
+omiten.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_co" id="flag_co">CO|cookie</a> <a title="Enlace permanente" href="#flag_co" class="permalink">¶</a></h2>
+<p>La bandera [CO], o [cookie], le permite establecer una cookie cuando una
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> particular
+coincide. El argumento consiste en tres campos obligatorios y cinco
+campos opcionales.</p>
+
+<p>La sintaxis completa para la bandera, incluyendo todos los atributos, es la
+siguiente:</p>
+
+<div class="example"><p><code>
+[CO=NAME:VALUE:DOMAIN:lifetime:path:secure:httponly:samesite]
+</code></p></div>
+
+<p>Si se necesita un carácter literal ':' en cualquiera de los campos de la cookie, está disponible una
+sintaxis alternativa. Para optar por la sintaxis alternativa, el
+"Name" de la cookie debe ir precedido por un carácter ';', y los separadores de campo deben
+especificarse como ';'.</p>
+
+<div class="example"><p><code>
+[CO=;NAME;VALUE:MOREVALUE;DOMAIN;lifetime;path;secure;httponly;samesite]
+</code></p></div>
+
+<p>Debe declarar un nombre, un valor y un dominio para que la cookie se establezca.</p>
+
+<dl>
+<dt>Dominio</dt>
+<dd>El dominio para el cual desea que la cookie sea válida. Este puede ser un
+nombre de host, como <code>www.example.com</code>, o puede ser un dominio,
+como <code>.example.com</code>. Debe tener al menos dos partes
+separadas por un punto. Es decir, no puede ser simplemente <code>.com</code> o
+<code>.net</code>. Las cookies de ese tipo están prohibidas por el modelo de
+seguridad de cookies.</dd>
+</dl>
+
+<p>Opcionalmente también puede establecer los siguientes valores:</p>
+
+<dl>
+<dt>Tiempo de vida</dt>
+<dd>El tiempo durante el cual la cookie persistirá, en minutos.</dd>
+<dd>Un valor de 0 indica que la cookie persistirá solo durante la
+sesión actual del navegador. Este es el valor predeterminado si no se
+especifica ninguno.</dd>
+<dd>Un valor negativo causa que la cookie sea eliminada en el navegador.</dd>
+
+<dt>Ruta</dt>
+<dd>La ruta, en el sitio web actual, para la cual la cookie es válida,
+como <code>/customers/</code> o <code>/files/download/</code>.</dd>
+<dd>Por defecto, esto se establece a <code>/</code> - es decir, todo el
+sitio web.</dd>
+
+<dt>Secure</dt>
+<dd>Si se establece a <code>secure</code>, <code>true</code>, o <code>1</code>,
+la cookie solo se permitirá ser transmitida a través de conexiones seguras (https).</dd>
+
+<dt>httponly</dt>
+<dd>Si se establece a <code>HttpOnly</code>, <code>true</code>, o
+<code>1</code>, la cookie tendrá la bandera <code>HttpOnly</code> establecida,
+lo que significa que la cookie es inaccesible para código JavaScript en
+navegadores que soportan esta característica.</dd>
+
+<dt>samesite</dt>
+<dd>Si se establece a algo distinto de <code>false</code> o <code>0</code>, el atributo <code>SameSite</code>
+se establece al valor especificado. Valores típicos son <code>None</code>,
+<code>Lax</code>, y <code>Strict</code>. Disponible en 2.5.1 y posterior.</dd>
+</dl>
+
+
+<p>Considere este ejemplo:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine On
+RewriteRule "^/index\.html" "-" [CO=frontdoor:yes:.example.com:1440:/]</pre>
+
+
+<p>En el ejemplo dado, la regla no reescribe la solicitud.
+El destino de reescritura "-" le dice a <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> que pase la solicitud
+sin cambios. En su lugar, establece una cookie
+llamada 'frontdoor' con un valor de 'yes'. La cookie es válida para cualquier host
+en el dominio <code>.example.com</code>. Se establece para expirar en 1440
+minutos (24 horas) y se devuelve para todas las URIs.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_dpi" id="flag_dpi">DPI|discardpath</a> <a title="Enlace permanente" href="#flag_dpi" class="permalink">¶</a></h2>
+<p>La bandera DPI causa que la porción PATH_INFO de la URI reescrita sea
+descartada.</p>
+<p>Esta bandera está disponible en la versión 2.2.12 y posterior.</p>
+<p>En contexto per-directorio, la URI contra la que cada <code class="directive">RewriteRule</code>
+compara es la concatenación de los valores actuales de la URI
+y PATH_INFO.</p>
+
+<p>La URI actual puede ser la URI inicial solicitada por el cliente, el
+resultado de una ronda anterior de procesamiento de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, o el resultado de
+una regla previa en la ronda actual de procesamiento de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+
+<p>En contraste, el PATH_INFO que se añade a la URI antes de cada
+regla refleja solo el valor de PATH_INFO antes de esta ronda de
+procesamiento de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Como consecuencia, si porciones grandes
+de la URI se hacen coincidir y copian en una sustitución en múltiples
+directivas <code class="directive">RewriteRule</code>, sin considerar
+qué partes de la URI provienen del PATH_INFO actual, la URI
+final puede tener múltiples copias de PATH_INFO añadidas.</p>
+
+<p>Use esta bandera en cualquier sustitución donde el PATH_INFO que resultó
+del mapeo anterior de esta solicitud al sistema de archivos no es de
+interés. Esta bandera olvida permanentemente el PATH_INFO establecido
+antes de que comenzara esta ronda de procesamiento de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. PATH_INFO no
+se recalculará hasta que se complete la ronda actual de procesamiento de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.
+Las reglas subsiguientes durante esta ronda de procesamiento verán
+solo el resultado directo de las sustituciones, sin ningún PATH_INFO
+añadido.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_e" id="flag_e">E|env</a> <a title="Enlace permanente" href="#flag_e" class="permalink">¶</a></h2>
+<p>Con la bandera [E], o [env], puede establecer el valor de una variable
+de entorno. Tenga en cuenta que algunas variables de entorno pueden establecerse después de que la regla
+se ejecute, deshaciendo así lo que ha establecido. Vea <a href="../env.html">el
+documento de Variables de Entorno</a> para más detalles sobre cómo funcionan las variables
+de entorno.</p>
+
+<p>La sintaxis completa para esta bandera es:</p>
+
+<pre class="prettyprint lang-config">[E=VAR:VAL]
+[E=!VAR]</pre>
+
+
+<p><code>VAL</code> puede contener referencias inversas (<code>$N</code> o
+<code>%N</code>) que se expanden.</p>
+
+<p>Usando la forma corta</p>
+
+<div class="example"><p><code>
+[E=VAR]
+</code></p></div>
+
+<p>puede establecer la variable de entorno llamada <code>VAR</code> a un
+valor vacío.</p>
+
+<p>La forma</p>
+
+<div class="example"><p><code>
+[E=!VAR]
+</code></p></div>
+
+<p>permite eliminar una variable de entorno previamente establecida
+llamada <code>VAR</code>.</p>
+
+<p>Las variables de entorno pueden usarse en una variedad de
+contextos, incluyendo programas CGI, otras directivas RewriteRule, o
+directivas CustomLog.</p>
+
+<p>El siguiente ejemplo establece una variable de entorno llamada 'image' con un
+valor de '1' si la URI solicitada es un archivo de imagen. Entonces, esa
+variable de entorno se usa para excluir esas solicitudes del registro de
+acceso.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "\.(png|gif|jpg)$" "-" [E=image:1]
+CustomLog "logs/access_log" combined env=!image</pre>
+
+
+<p>Tenga en cuenta que este mismo efecto se puede obtener usando <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>. Esta técnica se ofrece como
+un ejemplo, no como una recomendación.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_end" id="flag_end">END</a> <a title="Enlace permanente" href="#flag_end" class="permalink">¶</a></h2>
+<p>Usar la bandera [END] termina no solo la ronda actual de procesamiento de
+reescritura (como [L]) sino también previene que cualquier procesamiento de
+reescritura posterior ocurra en contexto per-directorio (htaccess).</p>
+
+<p>Esto no se aplica a nuevas solicitudes resultantes de
+redirecciones externas.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_f" id="flag_f">F|forbidden</a> <a title="Enlace permanente" href="#flag_f" class="permalink">¶</a></h2>
+<p>Usar la bandera [F] causa que el servidor devuelva un código de estado 403 Forbidden
+al cliente. Aunque el mismo comportamiento puede lograrse usando
+la directiva <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code>, esto
+permite más flexibilidad en la asignación de un estado Forbidden.</p>
+
+<p>La siguiente regla prohibirá que archivos <code>.exe</code> sean
+descargados de su servidor.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "\.exe" "-" [F]</pre>
+
+
+<p>Este ejemplo usa la sintaxis "-" para el destino de reescritura, que significa
+que la URI solicitada no se modifica. No hay razón para reescribir a
+otra URI, si va a prohibir la solicitud.</p>
+
+<p>Cuando se usa [F], se implica un [L] - es decir, la respuesta se devuelve
+inmediatamente, y no se evalúan más reglas.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_g" id="flag_g">G|gone</a> <a title="Enlace permanente" href="#flag_g" class="permalink">¶</a></h2>
+<p>La bandera [G] fuerza al servidor a devolver un estado 410 Gone con la
+respuesta. Esto indica que un recurso solía estar disponible, pero ya no
+lo está.</p>
+
+<p>Como con la bandera [F], normalmente usará la sintaxis "-" para el
+destino de reescritura cuando use la bandera [G]:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "oldproduct" "-" [G,NC]</pre>
+
+
+<p>Cuando se usa [G], se implica un [L] - es decir, la respuesta se devuelve
+inmediatamente, y no se evalúan más reglas.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_h" id="flag_h">H|handler</a> <a title="Enlace permanente" href="#flag_h" class="permalink">¶</a></h2>
+<p>Fuerza que la solicitud resultante sea manejada con el manejador
+especificado. Por ejemplo, uno podría usar esto para forzar que todos los archivos sin
+extensión de archivo sean procesados por el manejador de php:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "!\." "-" [H=application/x-httpd-php]</pre>
+
+
+<p>
+La expresión regular anterior - <code>!\.</code> - coincidirá con cualquier solicitud
+que no contenga el carácter literal <code>.</code>.
+</p>
+
+<p>Esto también puede usarse para forzar el manejador basado en algunas condiciones.
+Por ejemplo, el siguiente fragmento usado en contexto per-servidor permite que
+archivos <code>.php</code> sean <em>mostrados</em> por <code>mod_php</code>
+si se solicitan con la extensión <code>.phps</code>:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^(/source/.+\.php)s$" "$1" [H=application/x-httpd-php-source]</pre>
+
+
+<p>La expresión regular anterior - <code>^(/source/.+\.php)s$</code> - coincidirá
+con cualquier solicitud que comience con <code>/source/</code> seguido de 1 o
+más caracteres seguidos de <code>.phps</code> literalmente. La referencia inversa
+$1 se refiere a la coincidencia capturada dentro de los paréntesis de la expresión
+regular.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_l" id="flag_l">L|last</a> <a title="Enlace permanente" href="#flag_l" class="permalink">¶</a></h2>
+<p>La bandera [L] causa que <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> deje de procesar
+el conjunto de reglas. En la mayoría de los contextos, esto significa que si la regla coincide, no
+se procesarán más reglas. Esto corresponde al
+comando <code>last</code> en Perl, o al comando <code>break</code> en
+C. Use esta bandera para indicar que la regla actual debe aplicarse
+inmediatamente sin considerar más reglas.</p>
+
+<p>Si está usando <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> en archivos
+<code>.htaccess</code> o en
+secciones <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>,
+es importante entender cómo se procesan las reglas. La forma simplificada de esto es que una vez que las reglas han sido
+procesadas, la solicitud reescrita se devuelve al motor de análisis
+de URL para que haga lo que pueda con ella. Es posible que mientras se maneja la solicitud reescrita, el archivo <code>.htaccess</code> o
+la sección <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+pueda encontrarse de nuevo, y así el conjunto de reglas pueda ejecutarse de nuevo desde el
+inicio. Lo más común es que esto suceda si una de las reglas causa una
+redirección - ya sea interna o externa - causando que el proceso de solicitud
+comience de nuevo.</p>
+
+<p>Es por lo tanto importante, si está usando directivas <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> en uno de estos
+contextos, que tome pasos explícitos para evitar bucles en las reglas, y no
+contar únicamente con la bandera [L] para terminar la ejecución de una serie de
+reglas, como se muestra a continuación.</p>
+
+<p>Una bandera alternativa, [END], puede usarse para terminar no solo la
+ronda actual de procesamiento de reescritura sino prevenir cualquier
+procesamiento de reescritura posterior en contexto per-directorio
+(htaccess). Esto no se aplica a nuevas solicitudes resultantes de
+redirecciones externas.</p>
+
+<p>El ejemplo dado aquí reescribirá cualquier solicitud a
+<code>index.php</code>, dando la solicitud original como un argumento de cadena
+de consulta a <code>index.php</code>, sin embargo, la <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> asegura que si la solicitud
+ya es para <code>index.php</code>, la <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> se omitirá.</p>
+
+<pre class="prettyprint lang-config">RewriteBase "/"
+RewriteCond "%{REQUEST_URI}" !=/index.php
+RewriteRule "^(.*)" "/index.php?req=$1" [L,PT]</pre>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_n" id="flag_n">N|next</a> <a title="Enlace permanente" href="#flag_n" class="permalink">¶</a></h2>
+<p>
+La bandera [N] causa que el conjunto de reglas comience de nuevo desde el principio, usando
+el resultado del conjunto de reglas hasta el momento como punto de partida. Use
+con extrema precaución, ya que puede resultar en un bucle.
+</p>
+<p>
+La bandera [Next] podría usarse, por ejemplo, si deseara reemplazar una
+cierta cadena o letra repetidamente en una solicitud. El ejemplo mostrado aquí
+reemplazará A con B en todas partes de una solicitud, y continuará haciéndolo
+hasta que no haya más As por reemplazar.
+</p>
+<pre class="prettyprint lang-config">RewriteRule "(.*)A(.*)" "$1B$2" [N]</pre>
+
+<p>Puede pensar en esto como un bucle <code>while</code>: Mientras este
+patrón siga coincidiendo (es decir, mientras la URI aún contenga una
+<code>A</code>), realice esta sustitución (es decir, reemplace la
+<code>A</code> con una <code>B</code>).</p>
+
+<p>En 2.5.0 y posterior, este módulo devuelve un error después de 10,000 iteraciones para
+proteger contra bucles no intencionados. Se puede especificar un número máximo alternativo de
+iteraciones añadiéndolo a la bandera N. </p>
+<pre class="prettyprint lang-config"># Estar dispuesto a reemplazar 1 carácter en cada pasada del bucle
+RewriteRule "(.+)[><;]$" "$1" [N=32000]
+# ... o, rendirse después de 10 bucles
+RewriteRule "(.+)[><;]$" "$1" [N=10]</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_nc" id="flag_nc">NC|nocase</a> <a title="Enlace permanente" href="#flag_nc" class="permalink">¶</a></h2>
+<p>El uso de la bandera [NC] causa que la <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> se evalúe de manera
+insensible a mayúsculas/minúsculas. Es decir, no importa si las letras aparecen
+en mayúsculas o minúsculas en la URI coincidente.</p>
+
+<p>En el ejemplo siguiente, cualquier solicitud de un archivo de imagen será proxied
+a su servidor de imágenes dedicado. La coincidencia es insensible a mayúsculas/minúsculas, de modo que
+archivos <code>.jpg</code> y <code>.JPG</code> son ambos aceptables, por
+ejemplo.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "(.*\.(jpg|gif|png))$" "http://images.example.com$1" [P,NC]</pre>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ne" id="flag_ne">NE|noescape</a> <a title="Enlace permanente" href="#flag_ne" class="permalink">¶</a></h2>
+<p>Por defecto, cuando una <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+resulta en una redirección externa, cualquier carácter en la salida que no esté
+en el siguiente conjunto seguro será convertido a sus equivalentes en hexadecimal
+(codificación porcentual):</p>
+
+<ul>
+ <li>Caracteres alfanuméricos: <code>A-Z</code>, <code>a-z</code>,
+ <code>0-9</code></li>
+ <li>Caracteres especiales: <code>$-_.+!*'(),:;@&=/~</code></li>
+</ul>
+
+<p>Por ejemplo, <code>#</code> se convertiría a <code>%23</code>,
+y <code>?</code> a <code>%3F</code>. El carácter <code>%</code>
+también se escapa (a <code>%25</code>), lo que significa que cualquier
+codificación porcentual ya presente en la sustitución será
+doblemente codificada.</p>
+
+<p>Usar la bandera [NE] previene este escape, permitiendo que caracteres
+como <code>#</code> y <code>?</code> pasen a la
+URL de redirección sin modificar.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/anchor/(.+)" "/bigpage.html#$1" [NE,R]</pre>
+
+
+<p>
+El ejemplo anterior redirigirá <code>/anchor/xyz</code> a
+<code>/bigpage.html#xyz</code>. Omitir la [NE] resultará en que el #
+sea convertido a su equivalente hexadecimal, <code>%23</code>, lo que
+entonces resultará en una condición de error 404 No Encontrado.
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ns" id="flag_ns">NS|nosubreq</a> <a title="Enlace permanente" href="#flag_ns" class="permalink">¶</a></h2>
+<p>El uso de la bandera [NS] previene que la regla se use en
+sub-solicitudes. Por ejemplo, una página incluida usando un SSI (Server
+Side Include) es una sub-solicitud, y usted puede querer evitar que las reescrituras
+ocurran en esas sub-solicitudes. También, cuando <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>
+intenta encontrar información sobre posibles archivos predeterminados de directorio
+(como archivos <code>index.html</code>), esto es una
+sub-solicitud interna, y a menudo querrá evitar reescrituras en tales sub-solicitudes.
+En sub-solicitudes, no siempre es útil, e incluso puede causar errores, si
+el conjunto completo de reglas se aplica. Use esta bandera para excluir
+reglas problemáticas.</p>
+
+<p>Para decidir si usar o no esta regla: si prefija URLs con
+scripts CGI, para forzar que sean procesadas por el script CGI, es
+probable que tenga problemas (o una sobrecarga significativa)
+en sub-solicitudes. En estos casos, use esta bandera.</p>
+
+<p>
+Imágenes, archivos javascript, o archivos css, cargados como parte de una página HTML,
+no son sub-solicitudes - el navegador los solicita como solicitudes HTTP
+separadas.
+</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_p" id="flag_p">P|proxy</a> <a title="Enlace permanente" href="#flag_p" class="permalink">¶</a></h2>
+<p>El uso de la bandera [P] causa que la solicitud sea manejada por
+<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, y procesada a través de una solicitud proxy. Por
+ejemplo, si quisiera que todas las solicitudes de imágenes fueran manejadas por un servidor
+de imágenes backend, podría hacer algo como lo siguiente:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "/(.*)\.(jpg|gif|png)$" "http://images.example.com/$1.$2" [P]</pre>
+
+
+<p>El uso de la bandera [P] implica [L] - es decir, la solicitud se envía inmediatamente
+a través del proxy, y cualquier regla siguiente no será
+considerada.</p>
+
+<p>
+Debe asegurarse de que la cadena de sustitución sea una URI válida
+(típicamente comenzando con <code>http://</code><em>hostname</em>) que pueda ser
+manejada por <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Si no, obtendrá un
+error del módulo proxy. Use esta bandera para lograr una
+implementación más potente de la directiva <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>,
+para mapear contenido remoto al espacio de nombres del servidor local.</p>
+
+<div class="warning">
+<h3>Advertencia de Seguridad</h3>
+<p>Tenga cuidado al construir la URL destino de la regla, considerando
+el impacto de seguridad de permitir que el cliente influya en el conjunto de
+URLs a las que su servidor actuará como proxy. Asegúrese de que la parte del esquema
+y nombre de host de la URL sea fija, o no permita al
+cliente una influencia indebida.</p>
+</div>
+
+<div class="warning">
+<h3>Advertencia de Rendimiento</h3>
+<p>Usar esta bandera provoca el uso de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, sin
+manejo de conexiones persistentes ya que se usa el worker predeterminado en este caso,
+el cual no maneja agrupación/reutilización de conexiones.</p>
+<p>Para usar conexiones persistentes necesita configurar un
+bloque <code class="directive"><a href="../mod/mod_proxy.html#proxy">Proxy</a></code> al menos para la parte del esquema
+y host de la URL destino conteniendo una
+directiva <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code> donde por ejemplo establezca
+un timeout.</p>
+<p>Si lo configura con <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> o
+<code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code> se usarán conexiones
+persistentes automáticamente.</p>
+</div>
+
+<p>Nota: <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> debe estar habilitado para
+usar esta bandera.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_pt" id="flag_pt">PT|passthrough</a> <a title="Enlace permanente" href="#flag_pt" class="permalink">¶</a></h2>
+
+<p>
+El destino (o cadena de sustitución) en una RewriteRule se asume que es una
+ruta de archivo, por defecto. El uso de la bandera [PT] causa que sea tratada
+como una URI en su lugar. Es decir, el
+uso de la bandera [PT] causa que el resultado de la <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> se pase de vuelta a través del
+mapeo de URL, de modo que mapeos basados en ubicación, como <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code>, o <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>, por ejemplo, puedan tener la
+oportunidad de tomar efecto.
+</p>
+
+<p>
+Si, por ejemplo, tiene un
+<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>
+para /icons, y tiene una <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> apuntando allí, debería
+usar la bandera [PT] para asegurar que el
+<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> sea evaluado.
+</p>
+
+<pre class="prettyprint lang-config">Alias "/icons" "/usr/local/apache/icons"
+RewriteRule "/pics/(.+)\.jpg$" "/icons/$1.gif" [PT]</pre>
+
+
+<p>
+La omisión de la bandera [PT] en este caso causará que el Alias sea
+ignorado, resultando en un error 'Archivo no encontrado'.
+</p>
+
+<p>La bandera <code>PT</code> implica la bandera <code>L</code>:
+la reescritura se detendrá para pasar la solicitud a
+la siguiente fase de procesamiento.</p>
+
+<p>Tenga en cuenta que la bandera <code>PT</code> está implícita en contextos per-directorio
+como secciones
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+o en archivos <code>.htaccess</code>. La única forma de evitar eso
+es reescribir a <code>-</code>.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsa" id="flag_qsa">QSA|qsappend</a> <a title="Enlace permanente" href="#flag_qsa" class="permalink">¶</a></h2>
+<p>
+Cuando la URI de reemplazo contiene una cadena de consulta, el comportamiento predeterminado
+de <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> es descartar
+la cadena de consulta existente, y reemplazarla con la recién generada.
+Usar la bandera [QSA] causa que las cadenas de consulta se combinen.
+</p>
+
+<p>Considere la siguiente regla:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA]</pre>
+
+
+<p>Con la bandera [QSA], una solicitud para <code>/pages/123?one=two</code> será
+mapeada a <code>/page.php?page=123&one=two</code>. Sin la bandera [QSA],
+esa misma solicitud será mapeada a
+<code>/page.php?page=123</code> - es decir, la cadena de consulta existente
+será descartada.
+</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsd" id="flag_qsd">QSD|qsdiscard</a> <a title="Enlace permanente" href="#flag_qsd" class="permalink">¶</a></h2>
+<p>
+Cuando la URI solicitada contiene una cadena de consulta, y la URI destino no
+la contiene, el comportamiento predeterminado de <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> es copiar esa cadena de consulta
+a la URI destino. Usar la bandera [QSD] causa que la cadena de consulta
+sea descartada.
+</p>
+
+<p>Esta bandera está disponible en la versión 2.4.0 y posterior.</p>
+
+<p>
+Usar [QSD] y [QSA] juntos resultará en que [QSD] tenga precedencia.
+</p>
+
+<p>
+Si la URI destino tiene una cadena de consulta, se observará el comportamiento predeterminado
+- es decir, la cadena de consulta original será descartada y
+reemplazada con la cadena de consulta en la URI destino de la <code>RewriteRule</code>.
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsl" id="flag_qsl">QSL|qslast</a> <a title="Enlace permanente" href="#flag_qsl" class="permalink">¶</a></h2>
+<p>
+Por defecto, el primer signo de interrogación (el más a la izquierda) en la sustitución
+delimita la ruta de la cadena de consulta. Usar la bandera [QSL] indica a
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> que en su lugar divida
+los dos componentes usando el último signo de interrogación (el más a la derecha). </p>
+
+<p>
+Esto es útil cuando se mapea a archivos que tienen signos de interrogación literales en
+sus nombres de archivo. Si no se usa cadena de consulta en la sustitución,
+se puede añadir un signo de interrogación en combinación con esta bandera. </p>
+
+<p>Esta bandera está disponible en la versión 2.4.19 y posterior.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_r" id="flag_r">R|redirect</a> <a title="Enlace permanente" href="#flag_r" class="permalink">¶</a></h2>
+<p>
+El uso de la bandera [R] causa que se emita una redirección HTTP al navegador.
+Si se especifica una URL completamente cualificada (es decir, incluyendo
+<code>http://servername/</code>) entonces se emitirá una redirección a esa
+ubicación. De lo contrario, se usará el protocolo actual, nombre del servidor, y número de puerto
+para generar la URL enviada con la redirección.
+</p>
+
+<p>
+Se puede especificar <em>cualquier</em> código de estado de respuesta HTTP válido,
+usando la sintaxis [R=305], con un código de estado 302 siendo usado por
+defecto si no se especifica ninguno. El código de estado especificado no necesita
+necesariamente ser un código de estado de redirección (3xx). Sin embargo,
+si un código de estado está fuera del rango de redirección (300-399) entonces la
+cadena de sustitución se descarta por completo, y la reescritura se detiene como si
+se usara <code>L</code>.</p>
+
+<p>Además de los códigos de estado de respuesta, también puede especificar estados de
+redirección usando sus nombres simbólicos: <code>temp</code> (predeterminado),
+<code>permanent</code>, o <code>seeother</code>.</p>
+
+<p>
+Casi siempre querrá usar [R] junto con [L] (es decir,
+usar [R,L]) porque por sí sola, la bandera [R] antepone
+<code>http://thishost[:thisport]</code> a la URI, pero luego pasa esto
+a la siguiente regla en el conjunto de reglas, lo que a menudo puede resultar en advertencias de 'URI
+inválida en solicitud'.
+</p>
+
+<p>Nota: httpd solo soporta códigos de estado que están incluidos en la especificación
+HTTP. Usar un código de estado no reconocido resultará en un error 500 y
+un mensaje en el log de errores.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_s" id="flag_s">S|skip</a> <a title="Enlace permanente" href="#flag_s" class="permalink">¶</a></h2>
+<p>La bandera [S] se usa para omitir reglas que no desea ejecutar. La
+sintaxis de la bandera skip es [S=<em>N</em>], donde <em>N</em> indica
+el número de reglas a omitir (siempre que la <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">
+RewriteRule</a></code> y cualquier directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">
+RewriteCond</a></code> precedente coincidan). Esto puede pensarse como una
+sentencia <code>goto</code> en su conjunto de reglas de reescritura. En el siguiente
+ejemplo, solo queremos ejecutar la <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">
+RewriteRule</a></code> si la URI solicitada no corresponde a un
+archivo real.</p>
+
+<pre class="prettyprint lang-config"># Is the request for a non-existent file?
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+# If so, skip these two RewriteRules
+RewriteRule ".?" "-" [S=2]
+
+RewriteRule "(.*\.gif)" "images.php?$1"
+RewriteRule "(.*\.html)" "docs.php?$1"</pre>
+
+
+<p>Esta técnica es útil porque una <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> solo se aplica a la
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> inmediatamente
+siguiente. Así, si desea hacer que una <code>RewriteCond</code> se aplique
+a varias <code>RewriteRule</code>s, una técnica posible es negar
+esas condiciones y añadir una <code>RewriteRule</code> con una bandera [Skip]. Puede
+usar esto para hacer construcciones pseudo if-then-else: La última regla de
+la cláusula then se convierte en <code>skip=N</code>, donde N es el
+número de reglas en la cláusula else:</p>
+<pre class="prettyprint lang-config"># Does the file exist?
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+# Create an if-then-else construct by skipping 3 lines if we meant to go to the "else" stanza.
+RewriteRule ".?" "-" [S=3]
+
+# IF the file exists, then:
+ RewriteRule "(.*\.gif)" "images.php?$1"
+ RewriteRule "(.*\.html)" "docs.php?$1"
+ # Skip past the "else" stanza.
+ RewriteRule ".?" "-" [S=1]
+# ELSE...
+ RewriteRule "(.*)" "404.php?file=$1"
+# END</pre>
+
+
+<p>Probablemente sea más fácil lograr este tipo de configuración usando
+las directivas <code class="directive"><If></code>, <code class="directive"><ElseIf></code>, y <code class="directive"><Else></code> en su lugar.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_t" id="flag_t">T|type</a> <a title="Enlace permanente" href="#flag_t" class="permalink">¶</a></h2>
+<p>Establece el tipo MIME con el que se enviará la respuesta
+resultante. Esto tiene el mismo efecto que la directiva <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code>.</p>
+
+<p>Por ejemplo, podría usar la siguiente técnica para servir código fuente Perl
+como texto plano, si se solicita de una manera particular:</p>
+
+<pre class="prettyprint lang-config"># Servir archivos .pl como texto plano
+RewriteRule "\.pl$" "-" [T=text/plain]</pre>
+
+
+<p>O, quizás, si tiene una cámara que produce imágenes jpeg sin
+extensiones de archivo, podría forzar que esas imágenes sean servidas con el
+tipo MIME correcto por virtud de sus nombres de archivo:</p>
+
+<pre class="prettyprint lang-config"># Los archivos con 'IMG' en el nombre son imágenes jpg.
+RewriteRule "IMG" "-" [T=image/jpg]</pre>
+
+
+<p>Por favor tenga en cuenta que este es un ejemplo trivial, y podría hacerse mejor
+usando <code class="directive"><a href="../mod/core.html#filesmatch"><FilesMatch></a></code>
+en su lugar. Siempre considere las soluciones
+alternativas a un problema antes de recurrir a rewrite, que invariablemente
+será una solución menos eficiente que las alternativas.</p>
+
+<p>
+Si se usa en contexto per-directorio, use solo <code>-</code> (guión)
+como la sustitución <em>para toda la ronda de procesamiento de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></em>,
+de lo contrario el tipo MIME establecido con esta bandera se pierde debido a un
+re-procesamiento interno (incluyendo rondas posteriores de procesamiento de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>).
+La bandera <code>L</code> puede ser útil en este contexto para terminar la
+ronda <em>actual</em> de procesamiento de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unsafe_allow_3f" id="flag_unsafe_allow_3f">UnsafeAllow3F</a> <a title="Enlace permanente" href="#flag_unsafe_allow_3f" class="permalink">¶</a></h2>
+ <p>Establecer esta bandera es necesario para permitir que una reescritura continúe si la
+ solicitud HTTP que se está reescribiendo tiene un signo de interrogación codificado, '%3f', y el
+ resultado reescrito tiene un '?' en la sustitución. Esto protege contra una URL
+ maliciosa que aproveche una captura y re-sustitución del signo de interrogación
+ codificado.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unsafe_prefix_stat" id="flag_unsafe_prefix_stat">UnsafePrefixStat</a> <a title="Enlace permanente" href="#flag_unsafe_prefix_stat" class="permalink">¶</a></h2>
+ <p>Establecer esta bandera es necesario en sustituciones de ámbito de servidor
+ que comienzan con una variable o referencia inversa y se resuelven a una ruta del sistema de archivos.
+ Estas sustituciones no se prefijan con la raíz del documento.
+ Esto protege contra una URL maliciosa que cause que la sustitución expandida se
+ mapee a una ubicación inesperada del sistema de archivos.</p>
+
+ <p>Available in Apache HTTP Server 2.5.1 and later.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unc" id="flag_unc">UNC</a> <a title="Enlace permanente" href="#flag_unc" class="permalink">¶</a></h2>
+ <p>Establecer esta bandera previene la fusión de múltiples barras iniciales,
+ como se usa en las rutas UNC de Windows. La bandera no es necesaria cuando la
+ sustitución de las reglas comienza con múltiples barras literales.</p>
+
+ <p>Available in Apache HTTP Server 2.5.1 and later.</p>
+</div></div>
+<div class="bottomlang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/flags.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.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 />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Les drapeaux de réécriture</h1>
<div class="toplang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/flags.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/flags.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
<p>Ce document décrit les drapeaux disponibles dans la directive
<p>Disponible à partir de la version 2.5.1 du serveur HTTP Apache.</p>
</div></div>
<div class="bottomlang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/flags.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/flags.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.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 />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="ja" xml:lang="ja"><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>RewriteRule フラグ - Apache HTTP サーバ バージョン 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
+<p class="apache">Apache HTTP サーバ バージョン 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>RewriteRule フラグ</h1>
+<div class="toplang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/flags.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+<p>このドキュメントでは、<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ディレクティブで使用可能なフラグについて、詳細な説明と例を提供します。</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">はじめに</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_b">B (バックリファレンスのエスケープ)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bnp">BNP|backrefnoplus (スペースを + にエスケープしない)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bctls">BCTLS</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bne">BNE</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_c">C|chain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_co">CO|cookie</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_dpi">DPI|discardpath</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_e">E|env</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_end">END</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_f">F|forbidden</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_g">G|gone</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_h">H|handler</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_l">L|last</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_n">N|next</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_nc">NC|nocase</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ne">NE|noescape</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ns">NS|nosubreq</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_p">P|proxy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_pt">PT|passthrough</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsa">QSA|qsappend</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsd">QSD|qsdiscard</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsl">QSL|qslast</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_r">R|redirect</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_s">S|skip</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_t">T|type</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unsafe_allow_3f">UnsafeAllow3F</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unsafe_prefix_stat">UnsafePrefixStat</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unc">UNC</a></li>
+</ul><h3>参照</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">モジュールドキュメント</a></li><li><a href="intro.html">mod_rewrite 入門</a></li><li><a href="remapping.html">リダイレクトとリマッピング</a></li><li><a href="access.html">アクセス制御</a></li><li><a href="vhosts.html">バーチャルホスト</a></li><li><a href="proxy.html">プロキシ</a></li><li><a href="rewritemap.html">RewriteMap の使用</a></li><li><a href="advanced.html">高度なテクニック</a></li><li><a href="avoid.html">mod_rewrite を使わない場合</a></li><li><a href="#comments_section">コメント</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="introduction" id="introduction">はじめに</a> <a title="Permanent link" href="#introduction" class="permalink">¶</a></h2>
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> は、
+1 つ以上のフラグによって動作を変更できます。フラグはルールの末尾の
+角括弧内に含まれ、複数のフラグはカンマで区切られます。</p>
+<pre class="prettyprint lang-config">RewriteRule pattern target [Flag1,Flag2,Flag3]</pre>
+
+
+<p>各フラグ (いくつかの例外を除き) には <code>CO</code> のような短い形式と、
+<code>cookie</code> のような長い形式があります。短い形式を使用するのが
+最も一般的ですが、各フラグの機能を覚えるために長い形式に慣れることを
+お勧めします。一部のフラグは 1 つ以上の引数を取ります。フラグは
+大文字小文字を区別しません。</p>
+
+<p>メタデータを変更するフラグ (T=、H=、E=) は、ディレクトリ単位および
+htaccess コンテキストで、同じ書き換え処理ラウンド中に ('-' 以外の)
+置換が行われる場合、効果がありません。</p>
+
+<p>ここでは、各フラグと使用例を紹介します。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_b" id="flag_b">B (バックリファレンスのエスケープ)</a> <a title="Permanent link" href="#flag_b" class="permalink">¶</a></h2>
+<p>[B] フラグは、変換を適用する前に非英数字文字をエスケープするよう
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> に指示します。</p>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> はマッピング前に URL をアンエスケープする
+必要があるため、バックリファレンスは適用時にアンエスケープされています。
+B フラグを使用すると、バックリファレンス内の非英数字文字がエスケープ
+されます。例えば、以下のルールを考えてみてください:</p>
+
+<p>サーバ変数の同様のエスケープについては、"escape"
+ <a href="#mapfunc">マッピング関数</a>を参照してください</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1"</pre>
+
+
+<p>検索語が 'x & y/z' の場合、ブラウザはこれを
+'x%20%26%20y%2Fz' としてエンコードし、リクエストは 'search/x%20%26%20y%2Fz'
+になります。B フラグがない場合、この書き換えルールは 'search.php?term=x & y/z'
+にマッピングされますが、これは有効な URL ではないため、
+<code>search.php?term=x%20&y%2Fz=</code> としてエンコードされ、
+意図した結果になりません。</p>
+
+<p>同じルールに B フラグを設定すると、パラメータは出力 URL に渡される前に
+再エンコードされ、正しいマッピング
+<code>/search.php?term=x%20%26%20y%2Fz</code> になります。</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1" [B,PT]</pre>
+
+
+<p>この特定の例を動作させるには、<code class="directive"><a href="../mod/core.html#allowencodedslashes">AllowEncodedSlashes</a></code> を <code>On</code> に
+設定する必要がある場合があることに注意してください。httpd は URL 内の
+エンコードされたスラッシュを許可せず、見つけた場合は 404 を返します。</p>
+
+<p>このエスケープは特にプロキシの状況で必要です。バックエンドが
+アンエスケープされた URL を受け取ると壊れる可能性があるためです。</p>
+
+<p>このフラグの代替として、<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> を使用して %{THE_REQUEST} に対してキャプチャする
+方法があります。これはエンコードされた形式の文字列をキャプチャします。</p>
+
+<p>2.4.26 以降では、エスケープする文字を特定の文字に限定できます:
+<code>[B=#?;]</code>。注: スペース文字はエスケープする文字リストに
+含めることができますが、<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+の 3 番目の引数全体を引用符で囲む必要があり、スペースはリストの
+最後の文字にしてはいけません。</p>
+
+<pre class="prettyprint lang-config"># スペースと疑問符をエスケープ。最後の引数の引用符は
+# スペースが含まれる場合に必要です。
+RewriteRule "^search/(.*)$" "/search.php?term=$1" "[B= ?]"</pre>
+
+
+<p>この方法でエスケープされる文字を制限するには、<a href="#flag_bne">#flag_bne</a>
+ および <a href="#flag_bctls">#flag_bctls</a> を参照してください</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bnp" id="flag_bnp">BNP|backrefnoplus (スペースを + にエスケープしない)</a> <a title="Permanent link" href="#flag_bnp" class="permalink">¶</a></h2>
+<p>[BNP] フラグは、バックリファレンス内のスペース文字を '+' ではなく
+%20 にエスケープするよう <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> に指示します。
+バックリファレンスがクエリ文字列ではなくパスコンポーネントで使用される
+場合に便利です。</p>
+
+<pre class="prettyprint lang-config"># クエリ文字列経由のフォーム送信で使用される + ではなく、
+# パス内のスペースを %20 にエスケープ
+RewriteRule "^search/(.*)$" "/search.php/$1" "[B,BNP]"</pre>
+
+
+<p>このフラグはバージョン 2.4.26 以降で使用可能です。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bctls" id="flag_bctls">BCTLS</a> <a title="Permanent link" href="#flag_bctls" class="permalink">¶</a></h2>
+<p>[BCTLS] フラグは [B] フラグに似ていますが、制御文字とスペース文字のみを
+エスケープします。これは、エンコードされずにクエリ文字列にコピーされた
+場合に拒否される文字セットと同じです。</p>
+
+<pre class="prettyprint lang-config"># 制御文字とスペースをエスケープ
+RewriteRule "^search/(.*)$" "/search.php/$1" "[BCTLS]"</pre>
+
+
+<p>このフラグはバージョン 2.5.1 以降で使用可能です。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bne" id="flag_bne">BNE</a> <a title="Permanent link" href="#flag_bne" class="permalink">¶</a></h2>
+<p>[BNE=...] 内の文字リストは、[B] または [BCTLS] フラグの文字に対する
+除外として扱われます。リストされた文字はエスケープされません。</p>
+
+<pre class="prettyprint lang-config"># デフォルトの文字をエスケープするが、/ は除外
+RewriteRule "^search/(.*)$" "/search.php?term=$1" "[B,BNE=/]"</pre>
+
+
+<p>このフラグはバージョン 2.5.1 以降で使用可能です。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_c" id="flag_c">C|chain</a> <a title="Permanent link" href="#flag_c" class="permalink">¶</a></h2>
+<p>[C] または [chain] フラグは、<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> が次のルールに
+チェーンされることを示します。つまり、ルールがマッチすると通常通り
+処理され、制御は次のルールに移ります。しかし、マッチしない場合は、
+次のルールおよびチェーンされたその他のルールがスキップされます。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_co" id="flag_co">CO|cookie</a> <a title="Permanent link" href="#flag_co" class="permalink">¶</a></h2>
+<p>[CO] または [cookie] フラグは、特定の
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> がマッチした場合に
+cookie を設定できるようにします。引数は 3 つの必須フィールドと
+5 つのオプションフィールドで構成されます。</p>
+
+<p>フラグの完全な構文 (すべての属性を含む) は以下の通りです:</p>
+
+<div class="example"><p><code>
+[CO=NAME:VALUE:DOMAIN:lifetime:path:secure:httponly:samesite]
+</code></p></div>
+
+<p>cookie フィールドのいずれかにリテラルの ':' 文字が必要な場合、
+代替構文が利用可能です。代替構文にオプトインするには、cookie の
+"Name" の前に ';' 文字を付け、フィールドセパレータを ';' として
+指定してください。</p>
+
+<div class="example"><p><code>
+[CO=;NAME;VALUE:MOREVALUE;DOMAIN;lifetime;path;secure;httponly;samesite]
+</code></p></div>
+
+<p>cookie が設定されるためには、名前、値、およびドメインを宣言する
+必要があります。</p>
+
+<dl>
+<dt>Domain</dt>
+<dd>cookie が有効なドメインです。<code>www.example.com</code> のような
+ホスト名か、<code>.example.com</code> のようなドメインです。
+ドットで区切られた少なくとも 2 つのパートが必要です。つまり、
+単に <code>.com</code> や <code>.net</code> にはできません。
+そのような cookie は cookie セキュリティモデルで禁止されています。</dd>
+</dl>
+
+<p>オプションで以下の値も設定できます:</p>
+
+<dl>
+<dt>Lifetime</dt>
+<dd>cookie が保持される時間 (分単位)。</dd>
+<dd>値が 0 の場合、cookie は現在のブラウザセッションの間のみ保持されます。
+指定されない場合のデフォルト値です。</dd>
+<dd>負の値を指定すると、ブラウザで cookie が削除されます。</dd>
+
+<dt>Path</dt>
+<dd>cookie が有効な現在のウェブサイトのパスです。
+<code>/customers/</code> や <code>/files/download/</code> などです。</dd>
+<dd>デフォルトでは <code>/</code> (ウェブサイト全体) に設定されます。</dd>
+
+<dt>Secure</dt>
+<dd><code>secure</code>、<code>true</code>、または <code>1</code> に
+設定すると、cookie はセキュアな (https) 接続経由でのみ送信が許可されます。</dd>
+
+<dt>httponly</dt>
+<dd><code>HttpOnly</code>、<code>true</code>、または <code>1</code> に
+設定すると、cookie に <code>HttpOnly</code> フラグが設定され、
+この機能をサポートするブラウザでは JavaScript コードから cookie に
+アクセスできなくなります。</dd>
+
+<dt>samesite</dt>
+<dd><code>false</code> または <code>0</code> 以外の値に設定すると、
+<code>SameSite</code> 属性が指定された値に設定されます。典型的な値は
+<code>None</code>、<code>Lax</code>、<code>Strict</code> です。
+2.5.1 以降で使用可能です。</dd>
+</dl>
+
+
+<p>以下の例を考えてみましょう:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine On
+RewriteRule "^/index\.html" "-" [CO=frontdoor:yes:.example.com:1440:/]</pre>
+
+
+<p>この例では、ルールはリクエストを書き換えません。
+書き換えターゲットの "-" は <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> にリクエストを
+変更せずに通過させることを意味します。代わりに、'frontdoor' という名前で
+値 'yes' の cookie を設定します。cookie は <code>.example.com</code>
+ドメイン内のすべてのホストに対して有効です。有効期限は 1440 分
+(24 時間) で、すべての URI に対して返されます。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_dpi" id="flag_dpi">DPI|discardpath</a> <a title="Permanent link" href="#flag_dpi" class="permalink">¶</a></h2>
+<p>DPI フラグは、書き換えた URI の PATH_INFO 部分を破棄します。</p>
+<p>このフラグはバージョン 2.2.12 以降で使用可能です。</p>
+<p>ディレクトリ単位のコンテキストでは、各
+<code class="directive">RewriteRule</code> が比較する URI は、URI と PATH_INFO の
+現在の値を連結したものです。</p>
+
+<p>現在の URI は、クライアントが要求した初期 URI、
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> の前のラウンドの処理結果、または現在のラウンドの
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 処理の前のルールの結果である可能性があります。</p>
+
+<p>一方、各ルールの前に URI に追加される PATH_INFO は、この
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 処理ラウンド前の PATH_INFO の値のみを
+反映します。その結果、URI の大部分が複数の
+<code class="directive">RewriteRule</code> ディレクティブで置換にマッチおよび
+コピーされ、URI のどの部分が現在の PATH_INFO から来たかを考慮しない場合、
+最終的な URI に PATH_INFO の複数のコピーが追加される可能性があります。</p>
+
+<p>前のマッピングの結果としてのこのリクエストの PATH_INFO が不要な
+置換にはこのフラグを使用してください。このフラグは、この
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 処理ラウンドの開始前に確立された PATH_INFO を
+永続的に破棄します。PATH_INFO は、現在の <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+処理ラウンドが完了するまで再計算されません。このラウンド中の
+後続のルールは、PATH_INFO が追加されていない置換の直接の結果のみを
+参照します。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_e" id="flag_e">E|env</a> <a title="Permanent link" href="#flag_e" class="permalink">¶</a></h2>
+<p>[E] または [env] フラグを使用すると、環境変数の値を設定できます。
+一部の環境変数はルールの実行後に設定される可能性があり、設定した値が
+上書きされることがあることに注意してください。環境変数の動作の詳細は
+<a href="../env.html">環境変数ドキュメント</a>を参照してください。</p>
+
+<p>このフラグの完全な構文は以下の通りです:</p>
+
+<pre class="prettyprint lang-config">[E=VAR:VAL]
+[E=!VAR]</pre>
+
+
+<p><code>VAL</code> には展開されるバックリファレンス (<code>$N</code> や
+<code>%N</code>) を含めることができます。</p>
+
+<p>短い形式</p>
+
+<div class="example"><p><code>
+[E=VAR]
+</code></p></div>
+
+<p>を使用すると、<code>VAR</code> という名前の環境変数を空の値に
+設定できます。</p>
+
+<p>以下の形式</p>
+
+<div class="example"><p><code>
+[E=!VAR]
+</code></p></div>
+
+<p>で、以前に設定された <code>VAR</code> という名前の環境変数を
+削除できます。</p>
+
+<p>環境変数は CGI プログラム、他の RewriteRule ディレクティブ、
+CustomLog ディレクティブなど、さまざまなコンテキストで使用できます。</p>
+
+<p>以下の例は、リクエストされた URI が画像ファイルの場合、'image' という
+環境変数を値 '1' に設定します。その後、その環境変数を使用して、
+それらのリクエストをアクセスログから除外します。</p>
+
+<pre class="prettyprint lang-config">RewriteRule "\.(png|gif|jpg)$" "-" [E=image:1]
+CustomLog "logs/access_log" combined env=!image</pre>
+
+
+<p>この効果は <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> を
+使用しても得られることに注意してください。このテクニックは推奨としてではなく、
+例として提供されています。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_end" id="flag_end">END</a> <a title="Permanent link" href="#flag_end" class="permalink">¶</a></h2>
+<p>[END] フラグを使用すると、([L] のように) 現在の書き換え処理ラウンドを
+終了するだけでなく、ディレクトリ単位 (htaccess) コンテキストでの
+以降の書き換え処理も防止します。</p>
+
+<p>これは外部リダイレクトによる新しいリクエストには適用されません。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_f" id="flag_f">F|forbidden</a> <a title="Permanent link" href="#flag_f" class="permalink">¶</a></h2>
+<p>[F] フラグを使用すると、サーバはクライアントに 403 Forbidden
+ステータスコードを返します。同じ動作は
+<code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> ディレクティブでも
+実現できますが、このフラグの方が Forbidden ステータスの割り当てに
+柔軟性があります。</p>
+
+<p>以下のルールは、サーバから <code>.exe</code> ファイルのダウンロードを
+禁止します。</p>
+
+<pre class="prettyprint lang-config">RewriteRule "\.exe" "-" [F]</pre>
+
+
+<p>この例は書き換えターゲットに "-" 構文を使用しており、リクエスト URI は
+変更されません。リクエストを禁止するのであれば、別の URI に書き換える
+理由はありません。</p>
+
+<p>[F] を使用すると [L] が暗黙的に含まれます - つまり、レスポンスが
+直ちに返され、後続のルールは評価されません。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_g" id="flag_g">G|gone</a> <a title="Permanent link" href="#flag_g" class="permalink">¶</a></h2>
+<p>[G] フラグは、サーバにレスポンスとして 410 Gone ステータスを
+返すよう強制します。これは、リソースがかつて利用可能であったが、
+もはや利用できないことを示します。</p>
+
+<p>[F] フラグと同様に、[G] フラグを使用する場合は通常書き換えターゲットに
+"-" 構文を使用します:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "oldproduct" "-" [G,NC]</pre>
+
+
+<p>[G] を使用すると [L] が暗黙的に含まれます - つまり、レスポンスが
+直ちに返され、後続のルールは評価されません。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_h" id="flag_h">H|handler</a> <a title="Permanent link" href="#flag_h" class="permalink">¶</a></h2>
+<p>結果のリクエストを指定されたハンドラで処理するよう強制します。
+例えば、ファイル拡張子のないすべてのファイルを php ハンドラで
+解析させるために使用できます:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "!\." "-" [H=application/x-httpd-php]</pre>
+
+
+<p>
+上記の正規表現 - <code>!\.</code> - は、リテラルの <code>.</code>
+文字を含まないすべてのリクエストにマッチします。
+</p>
+
+<p>これは条件に基づいてハンドラを強制するためにも使用できます。
+例えば、以下のスニペットをサーバ単位のコンテキストで使用すると、
+<code>.php</code> ファイルが <code>.phps</code> 拡張子でリクエスト
+された場合に <code>mod_php</code> によって<em>表示</em>されます:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^(/source/.+\.php)s$" "$1" [H=application/x-httpd-php-source]</pre>
+
+
+<p>上記の正規表現 - <code>^(/source/.+\.php)s$</code> - は
+<code>/source/</code> で始まり、1 文字以上の任意の文字が続き、
+リテラルの <code>.phps</code> で終わるリクエストにマッチします。
+バックリファレンス $1 は正規表現の括弧内のキャプチャされたマッチを
+参照します。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_l" id="flag_l">L|last</a> <a title="Permanent link" href="#flag_l" class="permalink">¶</a></h2>
+<p>[L] フラグは <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> にルールセットの処理を
+停止させます。ほとんどのコンテキストで、ルールがマッチした場合、
+以降のルールは処理されなくなります。これは Perl の <code>last</code>
+コマンドや C の <code>break</code> コマンドに相当します。
+このフラグは、後続のルールを考慮せずに現在のルールを直ちに適用
+すべきことを示すために使用します。</p>
+
+<p><code>.htaccess</code> ファイルまたは
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+セクションで <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+を使用している場合、ルールがどのように処理されるかについてある程度の
+理解が重要です。簡略化すると、ルールが処理された後、書き換えられた
+リクエストは URL 解析エンジンに渡されます。書き換えられたリクエストが
+処理される際に、<code>.htaccess</code> ファイルまたは
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> セクションが
+再び検出され、ルールセットが最初から再実行される可能性があります。
+これは最も一般的に、ルールの 1 つが (内部または外部の) リダイレクトを
+引き起こし、リクエスト処理が最初からやり直される場合に発生します。</p>
+
+<p>したがって、これらのコンテキストで <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ディレクティブを使用する場合、
+ルールのループを避けるための明示的な対策を取り、一連のルールの実行
+終了を [L] フラグだけに頼らないことが重要です。以下に示す通りです。</p>
+
+<p>代替フラグ [END] は、現在の書き換え処理ラウンドを終了するだけでなく、
+ディレクトリ単位 (htaccess) コンテキストでの以降の書き換え処理も
+防止するために使用できます。これは外部リダイレクトによる新しい
+リクエストには適用されません。</p>
+
+<p>ここに示す例は、すべてのリクエストを <code>index.php</code> に
+書き換え、元のリクエストを <code>index.php</code> へのクエリ文字列
+引数として渡しますが、<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+により、リクエストが既に <code>index.php</code> に対するものである場合は
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> がスキップされます。</p>
+
+<pre class="prettyprint lang-config">RewriteBase "/"
+RewriteCond "%{REQUEST_URI}" !=/index.php
+RewriteRule "^(.*)" "/index.php?req=$1" [L,PT]</pre>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_n" id="flag_n">N|next</a> <a title="Permanent link" href="#flag_n" class="permalink">¶</a></h2>
+<p>
+[N] フラグは、それまでのルールセットの結果を出発点として、ルールセットを
+最初からやり直します。ループを引き起こす可能性があるため、
+極めて慎重に使用してください。
+</p>
+<p>
+[Next] フラグは、例えばリクエスト内の特定の文字列や文字を繰り返し
+置換したい場合に使用できます。ここに示す例は、リクエスト内のすべての
+A を B に置換し、置換すべき A がなくなるまで続けます。
+</p>
+<pre class="prettyprint lang-config">RewriteRule "(.*)A(.*)" "$1B$2" [N]</pre>
+
+<p>これは <code>while</code> ループと考えることができます: このパターンが
+まだマッチする間 (つまり、URI にまだ <code>A</code> が含まれている間)、
+この置換を実行します (つまり、<code>A</code> を <code>B</code> に
+置換します)。</p>
+
+<p>2.5.0 以降では、意図しないループを防ぐため、10,000 回の反復後に
+エラーを返します。N フラグに追加することで、代替の最大反復回数を
+指定できます。</p>
+<pre class="prettyprint lang-config"># ループの各パスで 1 文字を置換
+RewriteRule "(.+)[><;]$" "$1" [N=32000]
+# ... または、10 ループ後に諦める
+RewriteRule "(.+)[><;]$" "$1" [N=10]</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_nc" id="flag_nc">NC|nocase</a> <a title="Permanent link" href="#flag_nc" class="permalink">¶</a></h2>
+<p>[NC] フラグを使用すると、<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> は大文字小文字を
+区別せずにマッチします。つまり、マッチする URI で文字が大文字か
+小文字かを気にしません。</p>
+
+<p>以下の例では、画像ファイルのリクエストは専用の画像サーバに
+プロキシされます。マッチは大文字小文字を区別しないため、例えば
+<code>.jpg</code> と <code>.JPG</code> ファイルの両方が受け入れられます。</p>
+
+<pre class="prettyprint lang-config">RewriteRule "(.*\.(jpg|gif|png))$" "http://images.example.com$1" [P,NC]</pre>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ne" id="flag_ne">NE|noescape</a> <a title="Permanent link" href="#flag_ne" class="permalink">¶</a></h2>
+<p>デフォルトでは、<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+が外部リダイレクトをもたらす場合、出力内の以下の安全なセット以外の文字は
+16 進コード (パーセントエンコード) に変換されます:</p>
+
+<ul>
+ <li>英数字: <code>A-Z</code>、<code>a-z</code>、
+ <code>0-9</code></li>
+ <li>特殊文字: <code>$-_.+!*'(),:;@&=/~</code></li>
+</ul>
+
+<p>例えば、<code>#</code> は <code>%23</code> に、<code>?</code> は
+<code>%3F</code> に変換されます。<code>%</code> 文字もエスケープされ
+(<code>%25</code> に)、これにより置換に既に存在するパーセントエンコーディングが
+二重エンコードされることを意味します。</p>
+
+<p>[NE] フラグを使用すると、このエスケープが防止され、<code>#</code> や
+<code>?</code> などの文字がそのままリダイレクト URL に渡されます。</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/anchor/(.+)" "/bigpage.html#$1" [NE,R]</pre>
+
+
+<p>
+上記の例は <code>/anchor/xyz</code> を <code>/bigpage.html#xyz</code> に
+リダイレクトします。[NE] を省略すると、# が 16 進コード相当の
+<code>%23</code> に変換され、404 Not Found エラーが発生します。
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ns" id="flag_ns">NS|nosubreq</a> <a title="Permanent link" href="#flag_ns" class="permalink">¶</a></h2>
+<p>[NS] フラグを使用すると、サブリクエストでのルールの使用が
+防止されます。例えば、SSI (Server Side Include) を使用して
+インクルードされたページはサブリクエストであり、それらのサブリクエストで
+書き換えが行われないようにしたい場合があります。また、
+<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> がディレクトリのデフォルトファイル
+(<code>index.html</code> ファイルなど) の情報を調べようとする場合も
+内部サブリクエストであり、そのようなサブリクエストでの書き換えを
+避けたい場合が多くあります。サブリクエストでは、ルールの完全なセットが
+適用されると有用でない場合やエラーを引き起こす場合があります。
+問題のあるルールを除外するためにこのフラグを使用してください。</p>
+
+<p>このルールを使用するかどうかを決定するには: CGI スクリプトで
+URL をプレフィックスし、CGI スクリプトで処理させるようにしている場合、
+サブリクエストで問題 (または大きなオーバーヘッド) が発生する
+可能性があります。そのような場合はこのフラグを使用してください。</p>
+
+<p>
+HTML ページの一部として読み込まれる画像、JavaScript ファイル、
+CSS ファイルはサブリクエストではありません - ブラウザがそれらを
+別の HTTP リクエストとしてリクエストします。
+</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_p" id="flag_p">P|proxy</a> <a title="Permanent link" href="#flag_p" class="permalink">¶</a></h2>
+<p>[P] フラグを使用すると、リクエストは <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> によって
+処理され、プロキシリクエストとして扱われます。例えば、すべての画像
+リクエストをバックエンド画像サーバで処理したい場合、以下のようにします:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "/(.*)\.(jpg|gif|png)$" "http://images.example.com/$1.$2" [P]</pre>
+
+
+<p>[P] フラグの使用は [L] を暗黙的に含みます - つまり、リクエストは
+直ちにプロキシに送られ、後続のルールは考慮されません。</p>
+
+<p>
+置換文字列が <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> で処理できる有効な URI
+(通常 <code>http://</code><em>hostname</em> で始まる) であることを
+確認する必要があります。そうでない場合、プロキシモジュールからエラーが
+発生します。このフラグは、<code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>
+ディレクティブのより強力な実装を実現し、リモートコンテンツをローカル
+サーバのネームスペースにマッピングするために使用します。</p>
+
+<div class="warning">
+<h3>セキュリティ警告</h3>
+<p>ルールのターゲット URL を構築する際には、サーバがプロキシとして
+動作する URL のセットに対するクライアントの影響のセキュリティ上の
+影響を考慮してください。URL のスキームとホスト名の部分が固定されているか、
+クライアントに過度の影響を与えないことを確認してください。</p>
+</div>
+
+<div class="warning">
+<h3>パフォーマンス警告</h3>
+<p>このフラグを使用すると、デフォルトワーカーが使用されるため、
+永続的な接続が処理されない <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> の使用がトリガー
+されます。接続プーリング/再利用が処理されません。</p>
+<p>永続的な接続を使用するには、少なくともターゲット URL のスキームと
+ホスト部分に対する <code class="directive"><a href="../mod/mod_proxy.html#proxy">Proxy</a></code>
+ブロックを設定し、例えばタイムアウトを設定する
+<code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code> ディレクティブを
+含めてください。</p>
+<p><code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> または
+<code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code> で設定すると、
+永続的な接続が自動的に使用されます。</p>
+</div>
+
+<p>注: このフラグを使用するには <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> が
+有効になっている必要があります。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_pt" id="flag_pt">PT|passthrough</a> <a title="Permanent link" href="#flag_pt" class="permalink">¶</a></h2>
+
+<p>
+RewriteRule のターゲット (置換文字列) はデフォルトではファイルパスと
+想定されます。[PT] フラグを使用すると、代わりに URI として扱われます。
+つまり、[PT] フラグを使用すると、<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> の結果が URL マッピングに
+戻され、<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>、<code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code>、<code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> などの場所ベースのマッピングが
+効果を発揮する機会が与えられます。
+</p>
+
+<p>
+例えば、/icons に対する <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> があり、
+そこを指す <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> がある
+場合、<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> が評価されるように
+[PT] フラグを使用する必要があります。
+</p>
+
+<pre class="prettyprint lang-config">Alias "/icons" "/usr/local/apache/icons"
+RewriteRule "/pics/(.+)\.jpg$" "/icons/$1.gif" [PT]</pre>
+
+
+<p>
+この場合に [PT] フラグを省略すると、Alias が無視され、
+'File not found' エラーが返されます。
+</p>
+
+<p><code>PT</code> フラグは <code>L</code> フラグを暗黙的に含みます:
+リクエストを処理の次のフェーズに渡すために書き換えが停止されます。</p>
+
+<p><code>PT</code> フラグは、
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> セクションや
+<code>.htaccess</code> ファイルなどのディレクトリ単位のコンテキストでは
+暗黙的に含まれることに注意してください。これを回避する唯一の方法は、
+<code>-</code> に書き換えることです。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsa" id="flag_qsa">QSA|qsappend</a> <a title="Permanent link" href="#flag_qsa" class="permalink">¶</a></h2>
+<p>
+置換 URI にクエリ文字列が含まれる場合、
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> のデフォルト動作は
+既存のクエリ文字列を破棄し、新しく生成されたもので置き換えることです。
+[QSA] フラグを使用すると、クエリ文字列が結合されます。
+</p>
+
+<p>以下のルールを考えてみましょう:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA]</pre>
+
+
+<p>[QSA] フラグがある場合、<code>/pages/123?one=two</code> へのリクエストは
+<code>/page.php?page=123&one=two</code> にマッピングされます。
+[QSA] フラグがない場合、同じリクエストは <code>/page.php?page=123</code>
+にマッピングされます - つまり、既存のクエリ文字列は破棄されます。
+</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsd" id="flag_qsd">QSD|qsdiscard</a> <a title="Permanent link" href="#flag_qsd" class="permalink">¶</a></h2>
+<p>
+リクエストされた URI にクエリ文字列が含まれ、ターゲット URI に含まれない
+場合、<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> のデフォルト
+動作はそのクエリ文字列をターゲット URI にコピーすることです。
+[QSD] フラグを使用すると、クエリ文字列が破棄されます。
+</p>
+
+<p>このフラグはバージョン 2.4.0 以降で使用可能です。</p>
+
+<p>
+[QSD] と [QSA] を一緒に使用すると、[QSD] が優先されます。
+</p>
+
+<p>
+ターゲット URI にクエリ文字列がある場合は、デフォルトの動作が
+観察されます - つまり、元のクエリ文字列は破棄され、
+<code>RewriteRule</code> ターゲット URI のクエリ文字列に
+置き換えられます。
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsl" id="flag_qsl">QSL|qslast</a> <a title="Permanent link" href="#flag_qsl" class="permalink">¶</a></h2>
+<p>
+デフォルトでは、置換内の最初の (左端の) 疑問符がパスとクエリ文字列を
+区切ります。[QSL] フラグを使用すると、代わりに最後の (右端の) 疑問符で
+2 つのコンポーネントを分割するよう
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> に指示します。</p>
+
+<p>
+これは、ファイル名にリテラルの疑問符が含まれるファイルへのマッピング時に
+便利です。置換でクエリ文字列が使用されない場合、このフラグと組み合わせて
+疑問符を追加できます。</p>
+
+<p>このフラグはバージョン 2.4.19 以降で使用可能です。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_r" id="flag_r">R|redirect</a> <a title="Permanent link" href="#flag_r" class="permalink">¶</a></h2>
+<p>
+[R] フラグを使用すると、ブラウザに HTTP リダイレクトが発行されます。
+完全修飾 URL (つまり <code>http://servername/</code> を含む) が指定された
+場合、その場所へのリダイレクトが発行されます。それ以外の場合は、
+現在のプロトコル、サーバ名、ポート番号がリダイレクトで送信される
+URL の生成に使用されます。
+</p>
+
+<p>
+[R=305] のような構文を使用して、任意の有効な HTTP レスポンスステータス
+コードを指定できます。指定されない場合、デフォルトの 302 ステータスコードが
+使用されます。指定されたステータスコードは必ずしもリダイレクト (3xx)
+ステータスコードである必要はありません。ただし、リダイレクト範囲 (300-399)
+外のステータスコードの場合、置換文字列は完全に破棄され、<code>L</code>
+が使用されたかのように書き換えが停止されます。</p>
+
+<p>レスポンスステータスコードに加えて、シンボリック名を使用して
+リダイレクトステータスを指定することもできます: <code>temp</code>
+(デフォルト)、<code>permanent</code>、または <code>seeother</code>。</p>
+
+<p>
+[R] フラグはほぼ常に [L] と組み合わせて使用します (つまり [R,L])。
+[R] フラグ単独では、URI に <code>http://thishost[:thisport]</code> を
+前置しますが、これをルールセットの次のルールに渡すため、しばしば
+'Invalid URI in request' 警告が発生します。
+</p>
+
+<p>注: httpd は HTTP 仕様に含まれるステータスコードのみをサポートします。
+認識されないステータスコードを使用すると、500 エラーとエラーログ
+メッセージが発生します。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_s" id="flag_s">S|skip</a> <a title="Permanent link" href="#flag_s" class="permalink">¶</a></h2>
+<p>[S] フラグは、実行したくないルールをスキップするために使用されます。
+スキップフラグの構文は [S=<em>N</em>] で、<em>N</em> はスキップする
+ルールの数を表します (<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+と先行する <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+ディレクティブがマッチする場合)。これは書き換えルールセット内の
+<code>goto</code> 文と考えることができます。以下の例では、リクエストされた
+URI が実際のファイルに対応しない場合にのみ
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> を実行したいとします。</p>
+
+<pre class="prettyprint lang-config"># Is the request for a non-existent file?
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+# If so, skip these two RewriteRules
+RewriteRule ".?" "-" [S=2]
+
+RewriteRule "(.*\.gif)" "images.php?$1"
+RewriteRule "(.*\.html)" "docs.php?$1"</pre>
+
+
+<p>このテクニックが有用なのは、<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> は直後の
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> にのみ適用されるため
+です。複数の <code>RewriteRule</code> に <code>RewriteCond</code> を
+適用したい場合の一つの方法は、条件を否定して [Skip] フラグ付きの
+<code>RewriteRule</code> を追加することです。これを使用して疑似的な
+if-then-else 構造を作成できます: then 節の最後のルールが
+<code>skip=N</code> となり、N は else 節のルール数です:</p>
+<pre class="prettyprint lang-config"># Does the file exist?
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+# Create an if-then-else construct by skipping 3 lines if we meant to go to the "else" stanza.
+RewriteRule ".?" "-" [S=3]
+
+# IF the file exists, then:
+ RewriteRule "(.*\.gif)" "images.php?$1"
+ RewriteRule "(.*\.html)" "docs.php?$1"
+ # Skip past the "else" stanza.
+ RewriteRule ".?" "-" [S=1]
+# ELSE...
+ RewriteRule "(.*)" "404.php?file=$1"
+# END</pre>
+
+
+<p>この種の設定は、代わりに <code class="directive"><If></code>、
+<code class="directive"><ElseIf></code>、<code class="directive"><Else></code> ディレクティブを使用する方が
+おそらく簡単でしょう。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_t" id="flag_t">T|type</a> <a title="Permanent link" href="#flag_t" class="permalink">¶</a></h2>
+<p>結果のレスポンスが送信される MIME タイプを設定します。
+これは <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> ディレクティブと
+同じ効果を持ちます。</p>
+
+<p>例えば、特定の方法でリクエストされた場合に Perl ソースコードを
+プレーンテキストとして提供するために、以下のテクニックを使用できます:</p>
+
+<pre class="prettyprint lang-config"># .pl ファイルをプレーンテキストとして提供
+RewriteRule "\.pl$" "-" [T=text/plain]</pre>
+
+
+<p>あるいは、ファイル拡張子のない jpeg 画像を生成するカメラがある場合、
+ファイル名によって正しい MIME タイプで画像を提供するよう強制できます:</p>
+
+<pre class="prettyprint lang-config"># 名前に 'IMG' を含むファイルは jpg 画像
+RewriteRule "IMG" "-" [T=image/jpg]</pre>
+
+
+<p>これは簡単な例であり、代わりに
+<code class="directive"><a href="../mod/core.html#filesmatch"><FilesMatch></a></code> を使用する
+方が良いことに注意してください。問題に対する代替の解決策を常に検討して
+から書き換えに頼ってください。書き換えは常に代替手段よりも
+効率が悪くなります。</p>
+
+<p>
+ディレクトリ単位のコンテキストで使用する場合は、
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 処理の<em>全ラウンド</em>の置換として
+<code>-</code> (ダッシュ) のみを使用してください。そうしないと、
+内部的な再処理 (<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 処理の後続ラウンドを含む)
+により、このフラグで設定された MIME タイプが失われます。
+<em>現在の</em> <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 処理ラウンドを終了するために
+<code>L</code> フラグが有用です。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unsafe_allow_3f" id="flag_unsafe_allow_3f">UnsafeAllow3F</a> <a title="Permanent link" href="#flag_unsafe_allow_3f" class="permalink">¶</a></h2>
+ <p>このフラグを設定すると、書き換え対象の HTTP リクエストに
+ エンコードされた疑問符 '%3f' が含まれ、書き換え結果の置換に
+ '?' がある場合でも書き換えを続行できます。これは、悪意のある
+ URL がエンコードされた疑問符のキャプチャと再置換を利用するのを
+ 防止します。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unsafe_prefix_stat" id="flag_unsafe_prefix_stat">UnsafePrefixStat</a> <a title="Permanent link" href="#flag_unsafe_prefix_stat" class="permalink">¶</a></h2>
+ <p>このフラグを設定すると、サーバスコープの置換が変数や
+ バックリファレンスで始まり、ファイルシステムパスに解決される場合に
+ 必要です。これらの置換にはドキュメントルートがプレフィックスとして
+ 付加されません。これは、悪意のある URL が展開された置換を
+ 予期しないファイルシステムの場所にマッピングさせるのを防止します。</p>
+
+ <p>Available in Apache HTTP Server 2.5.1 and later.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unc" id="flag_unc">UNC</a> <a title="Permanent link" href="#flag_unc" class="permalink">¶</a></h2>
+ <p>このフラグを設定すると、Windows UNC パスで使用される複数の
+ 先頭スラッシュのマージが防止されます。ルールの置換がリテラルの
+ 複数スラッシュで始まる場合、このフラグは不要です。</p>
+
+ <p>Available in Apache HTTP Server 2.5.1 and later.</p>
+</div></div>
+<div class="bottomlang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/flags.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.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="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="EUC-KR"?>
+<!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="ko" xml:lang="ko"><head>
+<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>RewriteRule ����� - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>RewriteRule �����</h1>
+<div class="toplang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/flags.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+<p>�� 문��� <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ì§����´ì�� �¬ì�©í�� �� ���� ����ê·¸ë�� �¼ì����ë©�, ���¸í�� �¤ë�ê³�
+����� ��공����.</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">���</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_b">B (��참조 �´ì�¤ì��´í��)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bnp">BNP|backrefnoplus (공백�� +ë¡� �´ì�¤ì��´í����ì§� ����)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bctls">BCTLS</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bne">BNE</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_c">C|chain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_co">CO|cookie</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_dpi">DPI|discardpath</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_e">E|env</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_end">END</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_f">F|forbidden</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_g">G|gone</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_h">H|handler</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_l">L|last</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_n">N|next</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_nc">NC|nocase</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ne">NE|noescape</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ns">NS|nosubreq</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_p">P|proxy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_pt">PT|passthrough</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsa">QSA|qsappend</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsd">QSD|qsdiscard</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsl">QSL|qslast</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_r">R|redirect</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_s">S|skip</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_t">T|type</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unsafe_allow_3f">UnsafeAllow3F</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unsafe_prefix_stat">UnsafePrefixStat</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unc">UNC</a></li>
+</ul><h3>Âü°í</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">모ë�� 문ì��</a></li><li><a href="intro.html">mod_rewrite ��ê°�</a></li><li><a href="remapping.html">리ë�¤ì�´ë����ê³� �¬ë§¤��</a></li><li><a href="access.html">��ê·� ����</a></li><li><a href="vhosts.html">ê°��� �¸ì�¤í��</a></li><li><a href="proxy.html">��ë¡���</a></li><li><a href="rewritemap.html">RewriteMap �¬ì�©í��ê¸�</a></li><li><a href="advanced.html">ê³�ê¸� 기ì��</a></li><li><a href="avoid.html">mod_rewriteë¥� �¬ì�©í��ì§� ë§����� �� ê²½ì��</a></li><li><a href="#comments_section">Comments</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="introduction" id="introduction">��ê°�</a> <a title="Permanent link" href="#introduction" class="permalink">¶</a></h2>
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+������ ���� �´ì���� ����ê·¸ë� ������ �� ���µë����. ����ê·¸ë��
+ê·�ì¹� ���� ��ê´��� ���� �¬í�¨ë��ë©�, �¬ë�� ����ê·¸ë�� �¼í��ë¡�
+구ë��©ë����.</p>
+<pre class="prettyprint lang-config">RewriteRule pattern target [Flag1,Flag2,Flag3]</pre>
+
+
+<p>ê°� ����ê·¸ë�� (ëª� ê°�ì§� ���¸ë�� ���¸í��ê³�) <code>CO</code>��
+��� 짧� ������ <code>cookie</code>�� ��� � �����
+ê°�ì§�����. ì§§ì�� ����ë¥� �¬ì�©í���� ê²��� ê°��� �¼ë����´ì�ë§�,
+ê°� ����ê·¸ê� 무ì���� ����ì§� 기ì�µí��ê¸� ���� ê¸� ������
+�µì���´ì��� ê²��� ì¢��µë����. �¼ë� ����ê·¸ë�� ���� �´ì����
+�¸ì��ë¥� ì·¨í�©ë����. ����ê·¸ë�� ����문ì��ë¥� 구ë���ì§� ���µë����.</p>
+
+<p>��ì²�ê³� ê´��¨ë�� ë©����°ì�´í�°ë�� ë³�ê²½í���� ����ê·�(T=, H=, E=)��
+������리ë� ë°� htaccess 컨í���¤í�¸ì���� ���¼í�� �¬ì���� ì²�ë¦�
+�¼ì�´ë�� ì¤��� ('-' �´ì�¸ì��) ì¹����� ������ �� �¨ê³¼ê°� ���µë����.
+</p>
+
+<p>�¬ê¸°������ �¬ì�� ê°��¥í�� ê°� ����ê·¸ì�� �¨ê� �¬ì�� ë°©ë���
+����ê°� �����©ë����.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_b" id="flag_b">B (��참조 �´ì�¤ì��´í��)</a> <a title="Permanent link" href="#flag_b" class="permalink">¶</a></h2>
+<p>[B] ����그� <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+ë³����� ���©í��ê¸� ���� ���«ì��ê°� ���� 문ì��ë¥� �´ì�¤ì��´í������ë¡�
+ì§����©ë����.</p>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� URL�� 매���� ����
+�´ì�¤ì��´í��ë¥� �´ì���´ì�� ��ë¯�ë¡�, ��참조�� ���©ë�� ��
+�´ì�¤ì��´í��ê°� �´ì���©ë����. B ����ê·¸ë�� �¬ì�©í��ë©� ��참조��
+���«ì��ê°� ���� 문ì��ê°� �´ì�¤ì��´í���©ë����.
+��ë¥� �¤ì��, �¤ì�� ê·�ì¹��� ê³��¤í��������:</p>
+
+<p>��ë²� ë³����� ���¬í�� �´ì�¤ì��´í���� ���´ì����
+ "escape" <a href="#mapfunc">매í�� �¨ì��</a>ë¥� 참조��������</p>
+
+
+<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1"</pre>
+
+
+<p>ê²����´ê� 'x & y/z'�� ê²½ì�� ë¸��¼ì�°ì���� �´ë��
+'x%20%26%20y%2Fz'ë¡� �¸ì��©í���� 'search/x%20%26%20y%2Fz'
+��ì²��� ë§�������. B ����ê·� ���� �� �¬ì���� ê·�ì¹���
+'search.php?term=x & y/z'ë¡� 매í����ë©�, �´ë�� ���¨í��
+URL�� ������ <code>search.php?term=x%20&y%2Fz=</code>�
+�¸ì��©ë���� ������ ê²�ê³� �¤ë�����.</p>
+
+<p>���¼í�� ê·�ì¹��� B ����ê·¸ë�� �¤ì����ë©� 매ê�ë³���ê°� ì¶��� URL��
+���¬ë��ê¸� ���� �¤ì�� �¸ì��©ë����
+<code>/search.php?term=x%20%26%20y%2Fz</code>ë¡� �¬ë�르ê�
+매í���©ë����.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1" [B,PT]</pre>
+
+
+<p>�� �¹ì�� ����ê°� �������¤ë©´
+<code class="directive"><a href="../mod/core.html#allowencodedslashes">AllowEncodedSlashes</a></code>�
+<code>On</code>�¼ë� �¤ì���´ì�� �� ���� ���µë����. httpd��
+URL���� �¸ì��©ë�� �¬ë����ë¥� ���©í��ì§� ��ê³� ����ë¥� ë³´ë©´
+404� ������ ��문�����.</p>
+
+<p>�� �´ì�¤ì��´í���� �¹í�� ��ë¡��� ���©ì���� �����©ë����.
+ë°±ì����ê°� �´ì�¤ì��´í����ì§� ���� URL�� ����ë°��¼ë©´ ì¤��¨ë�� ��
+��� ��문�����.</p>
+
+<p>�� ����ê·¸ì�� ������ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>ë¥� �¬ì�©í���� %{THE_REQUEST}�� ����
+캡ì����� ê²��´ë©°, �´ë�� �¸ì��©ë�� ������ 문ì���´ì��
+캡ì��©ë����.</p>
+
+<p>2.4.26 �´ì�������� ��참조���� �´ì�¤ì��´í���� �¹ì�� 문ì��ë¥�
+���´í���� ������ �� ���µë����: <code>[B=#?;]</code>.
+ì°¸ê�: �´ì�¤ì��´í���� 문ì�� 목ë��� 공백 문ì��ë¥� �¬ì�©í�� ��
+���� <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+��ì²� �� ë²�ì§� �¸ì��ë¥� �¸ì�©í�´ì�� ��ë©� 공백�� 목ë��� ë§�ì§�ë§�
+문ì��ê°� ���´ì���� �� �©ë����.</p>
+
+<pre class="prettyprint lang-config"># 공백ê³� 물ì����ë¥� �´ì�¤ì��´í���©ë����. 공백�� �¬í�¨ë�� ê²½ì��
+# ìµ�ì¢� �¸ì�� 주ì���� �°ì�´í��ê°� �����©ë����.
+RewriteRule "^search/(.*)$" "/search.php?term=$1" "[B= ?]"</pre>
+
+
+<p>�� ë°©ì���¼ë� �´ì�¤ì��´í������ 문ì��ë¥� �������¤ë©´
+<a href="#flag_bne">#flag_bne</a>��
+<a href="#flag_bctls">#flag_bctls</a>� 참조��������</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bnp" id="flag_bnp">BNP|backrefnoplus (공백�� +ë¡� �´ì�¤ì��´í����ì§� ����)</a> <a title="Permanent link" href="#flag_bnp" class="permalink">¶</a></h2>
+<p>[BNP] ����그� <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+��참조���� 공백 문ì��ë¥� '+' ���� %20�¼ë� �´ì�¤ì��´í������ë¡�
+ì§����©ë����. ��참조ê°� 쿼리 문ì���´ì�� ���� ê²½ë� 구ì�� ��������
+�¬ì�©ë�� �� ���©í�©ë����.</p>
+
+<pre class="prettyprint lang-config"># 쿼리 문ì���´ì�� �µí�� ���� ��ì¶��� �¬ì�©ë���� + ����
+# ê²½ë����� 공백�� %20�¼ë� �´ì�¤ì��´í��
+RewriteRule "^search/(.*)$" "/search.php/$1" "[B,BNP]"</pre>
+
+
+
+<p>�� ����ê·¸ë�� ë²��� 2.4.26 �´ì������ �¬ì�©í�� �� ���µë����.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bctls" id="flag_bctls">BCTLS</a> <a title="Permanent link" href="#flag_bctls" class="permalink">¶</a></h2>
+<p>[BCTLS] ����ê·¸ë�� [B] ����ê·¸ì�� ���¬í��ì§�ë§� ���� 문ì����
+공백 문ì��ë§� �´ì�¤ì��´í���©ë����. �´ê��� �¸ì��©ë��ì§� ���� ì±�
+쿼리 문ì���´ë� ë³µì�¬ë�� �� ê±°ë����� ���¼í�� 문ì�� �¸í�¸ì������.
+</p>
+
+<pre class="prettyprint lang-config"># ���� 문ì���� 공백�� �´ì�¤ì��´í��
+RewriteRule "^search/(.*)$" "/search.php/$1" "[BCTLS]"</pre>
+
+
+<p>�� ����ê·¸ë�� ë²��� 2.5.1 �´ì������ �¬ì�©í�� �� ���µë����.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bne" id="flag_bne">BNE</a> <a title="Permanent link" href="#flag_bne" class="permalink">¶</a></h2>
+<p>[BNE=...]�� 문� 목�� [B] ���� [BCTLS] ����그�
+문ì���� ���� ���¸ë� ì²�리ë�©ë����. ���´ë�� 문ì���� �´ì�¤ì��´í����ì§�
+���µë����.
+</p>
+
+<pre class="prettyprint lang-config"># 기본 문ì��ë¥� �´ì�¤ì��´í������ /�� �¨ê�
+RewriteRule "^search/(.*)$" "/search.php?term=$1" "[B,BNE=/]"</pre>
+
+
+<p>�� ����ê·¸ë�� ë²��� 2.5.1 �´ì������ �¬ì�©í�� �� ���µë����.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_c" id="flag_c">C|chain</a> <a title="Permanent link" href="#flag_c" class="permalink">¶</a></h2>
+<p>[C] ���� [chain] ����ê·¸ë�� <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>�� �¤ì�� ê·�ì¹���
+ì²´ì�¸ë���� ������ ����������. ì¦�, ê·�ì¹��� �¼ì���ë©� ������
+ê°��� ì²�리ë��ê³� ���´ê� �¤ì�� ê·�ì¹��¼ë� �´ë���©ë����. ê·¸ë�¬ë��
+�¼ì���ì§� ���¼ë©´ �¤ì�� ê·�ì¹�ê³� �¨ê� ì²´ì�¸ë�� �¤ë¥¸ 모ë�� ê·�ì¹���
+ê±´ë���°ì�´ì�����.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_co" id="flag_co">CO|cookie</a> <a title="Permanent link" href="#flag_co" class="permalink">¶</a></h2>
+<p>[CO] ���� [cookie] ����ê·¸ë�� �¬ì�©í��ë©� �¹ì��
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+�¼ì��� �� ì¿��¤ë�� �¤ì���� �� ���µë����. �¸ì���� �� ê°���
+���� ������ �¤ì�� ê°��� ������ ����ë¡� 구ì�±ë�©ë����.</p>
+
+<p>����ê·¸ì�� ��ì²� 구문�� 모ë�� ���±ì�� �¬í�¨í����
+�¤ì��ê³� ê°��µë����:</p>
+
+<div class="example"><p><code>
+[CO=NAME:VALUE:DOMAIN:lifetime:path:secure:httponly:samesite]
+</code></p></div>
+
+<p>��� ������ 리�� ':' 문�� ������ 경� ��� 구문��
+�¬ì�©í�� �� ���µë����. ��ì²� 구문�� �������¤ë©´ ì¿��� "Name" ����
+';' 문ì��ë¥� ë¶��´ê� ���� 구ë���ë¥� ';'ë¡� ì§����´ì�� �©ë����.</p>
+
+<div class="example"><p><code>
+[CO=;NAME;VALUE:MOREVALUE;DOMAIN;lifetime;path;secure;httponly;samesite]
+</code></p></div>
+
+<p>ì¿��¤ë�� �¤ì�����¤ë©´ �´ë�, ê°� ë°� ��ë©��¸ì�� ���¸í�´ì��
+�©ë����.</p>
+
+<dl>
+<dt>Domain</dt>
+<dd>ì¿��¤ê� ���¨í�� ��ë©��¸ì������. <code>www.example.com</code>ê³�
+ê°��� �¸ì�¤í�¸ë��´ê±°�� <code>.example.com</code>ê³� ê°���
+��ë©��¸ì�� �� ���µë����. ���¼ë� 구ë��� ìµ��� �� ë¶�ë¶��´ì�´ì��
+�©ë����. ì¦�, �¨ì���� <code>.com</code>�´ë��
+<code>.net</code>�� �� ���µë����. �´ë�¬í�� ì¢�ë¥��� ì¿��¤ë��
+ì¿��� ë³´ì�� 모ë�¸ì�� ���� ê¸�ì§��©ë����.</dd>
+</dl>
+
+<p>�������¼ë� �¤ì�� ê°��� �¤ì���� �� ���µë����:</p>
+
+<dl>
+<dt>Lifetime</dt>
+<dd>ì¿��¤ê� ì§������� ��ê°�(ë¶�)������.</dd>
+<dd>ê°��� 0�´ë©´ ì¿��¤ê� ���� ë¸��¼ì�°ì�� �¸ì�� ����ë§� ì§����©ë����.
+ì§�����ì§� ���¼ë©´ �´ê��� 기본ê°�������.</dd>
+<dd>���� ê°��� ë¸��¼ì�°ì������ ì¿��¤ë�� �����©ë����.</dd>
+
+<dt>Path</dt>
+<dd>���� �¹ì�¬ì�´í�¸ì���� ì¿��¤ê� ���¨í�� ê²½ë�������.
+��: <code>/customers/</code> ����
+<code>/files/download/</code>.</dd>
+<dd>기본���¼ë� <code>/</code>ë¡� �¤ì���©ë���� - ì¦�,
+��ì²� �¹ì�¬ì�´í�¸ì������.</dd>
+
+<dt>Secure</dt>
+<dd><code>secure</code>, <code>true</code> ����
+<code>1</code>ë¡� �¤ì����ë©� ì¿��¤ë�� ë³´ì��(https) �°ê²°��
+�µí�´ì��ë§� ���¬ë�©ë����.</dd>
+
+<dt>httponly</dt>
+<dd><code>HttpOnly</code>, <code>true</code> ����
+<code>1</code>ë¡� �¤ì����ë©� ì¿��¤ì��
+<code>HttpOnly</code> ����ê·¸ê� �¤ì����ë©�, �´ë�� �� 기ë�¥ì��
+ì§������� ë¸��¼ì�°ì������ ì¿��¤ê� JavaScript ì½���ë¡� ��ê·¼í�� ��
+������ ��미����.</dd>
+
+<dt>samesite</dt>
+<dd><code>false</code> ���� <code>0</code> �´ì�¸ì�� ê°��¼ë�
+�¤ì����ë©� <code>SameSite</code> ���±ì�� ì§����� ê°��¼ë�
+�¤ì���©ë����. �¼ë����� ê°��� <code>None</code>,
+<code>Lax</code> � <code>Strict</code>������.
+2.5.1 �´ì������ �¬ì�©í�� �� ���µë����.</dd>
+</dl>
+
+
+<p>�¤ì�� ����ë¥� ê³��¤í��������:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine On
+RewriteRule "^/index\.html" "-" [CO=frontdoor:yes:.example.com:1440:/]</pre>
+
+
+<p>주ì�´ì� �������� ê·�ì¹��� ��ì²��� �¬ì���±í��ì§� ���µë����.
+"-" �¬ì���� ������ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>��ê²� ��ì²���
+ë³�ê²� ���� �µê³¼���¤ë��ë¡� ì§����©ë����. ���� 'frontdoor'�¼ë��
+ì¿��¤ë�� 'yes' ê°��¼ë� �¤ì���©ë����. ì¿��¤ë��
+<code>.example.com</code> ��ë©��¸ì�� 모ë�� �¸ì�¤í�¸ì�� ���¨í�©ë����.
+1440ë¶�(24��ê°�) ���� ë§�ë£�����ë¡� �¤ì����ë©� 모ë�� URI�� ����
+ë°����©ë����.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_dpi" id="flag_dpi">DPI|discardpath</a> <a title="Permanent link" href="#flag_dpi" class="permalink">¶</a></h2>
+<p>DPI ����ê·¸ë�� �¬ì���±ë�� URI�� PATH_INFO ë¶�ë¶���
+�립���.</p>
+<p>�� ����ê·¸ë�� ë²��� 2.2.12 �´ì������ �¬ì�©í�� �� ���µë����.</p>
+<p>������리ë� 컨í���¤í�¸ì���� ê°�
+<code class="directive">RewriteRule</code>�� ������ URI�� URI��
+PATH_INFO�� ���� ê°��� �°ê²°������.</p>
+
+<p>���� URI�� �´ë�¼ì�´ì�¸í�¸ê� ��ì²��� ì´�ê¸� URI�´ê±°��,
+�´ì�� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ì²�ë¦� �¼ì�´ë���� ê²°ê³¼�´ê±°��,
+���� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ì²�ë¦� �¼ì�´ë������ �´ì��
+ê·�ì¹��� ê²°ê³¼�� �� ���µë����.</p>
+
+<p>��, � �� ���� URI�� ������ PATH_INFO��
+�� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ì²�ë¦� �¼ì�´ë�� ���� PATH_INFO
+ê°�ë§� ë°����©ë����. ê²°ê³¼���¼ë� URI�� �� ë¶�ë¶��� �¬ë��
+<code class="directive">RewriteRule</code> ì§����´ì���� ì¹����¼ë�
+�¼ì���ê³� ë³µì�¬ë�� ��, URI�� �´ë�� ë¶�ë¶��� ���� PATH_INFO����
+����ì§� ê³��¤í��ì§� ���¼ë©´ ìµ�ì¢� URI�� PATH_INFO�� �¬ë�� ë³µì�¬ë³¸��
+ì¶�ê°��� �� ���µë����.</p>
+
+<p>�´ì�� ��ì²��� ���� ���¤í�� 매í������ ���±ë�� PATH_INFOê°�
+ê´��� ���� ì¹����� �� ����ê·¸ë�� �¬ì�©í��������. �� ����ê·¸ë��
+�� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ì²�ë¦� �¼ì�´ë�� ���� �¤ì����
+PATH_INFOë¥� ��구ì���¼ë� ���µë����. PATH_INFO�� ����
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ì²�ë¦� �¼ì�´ë��ê°� ��ë£��� ��ê¹�ì§�
+�¤ì�� ê³��°ë��ì§� ���µë����. �� ì²�ë¦� �¼ì�´ë�� ì¤� ���� ê·�ì¹���
+PATH_INFO� ����� ���� ����� ������� 결과� �����.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_e" id="flag_e">E|env</a> <a title="Permanent link" href="#flag_e" class="permalink">¶</a></h2>
+<p>[E] ���� [env] ����ê·¸ë�� �¬ì�©í��ë©� ��ê²� ë³����� ê°���
+�¤ì���� �� ���µë����. �¼ë� ��ê²� ë³����� ê·�ì¹��� �¤í���� ����
+�¤ì���� �� ���¼ë��ë¡�, �¤ì���� ê²��� �´ì���� �� ���¤ë�� ����
+������������. ��ê²� ë³����� ���� ë°©ì���� ���� ���¸í�� �´ì�©ì��
+<a href="../env.html">��� ��� 문�</a>� 참조��������.</p>
+
+<p>�� ����ê·¸ì�� ��ì²� 구문�� �¤ì��ê³� ê°��µë����:</p>
+
+<pre class="prettyprint lang-config">[E=VAR:VAL]
+[E=!VAR]</pre>
+
+
+<p><code>VAL</code>���� ���¥ë���� ��참조(<code>$N</code>
+���� <code>%N</code>)ê°� �¬í�¨ë�� �� ���µë����.</p>
+
+<p>ì§§ì�� ����ë¥� �¬ì�©í����</p>
+
+<div class="example"><p><code>
+[E=VAR]
+</code></p></div>
+
+<p><code>VAR</code>�´ë�¼ë�� ��ê²� ë³���ë¥� ë¹� ê°��¼ë� �¤ì���� ��
+���µë����.</p>
+
+<p>�¤ì�� ����</p>
+
+<div class="example"><p><code>
+[E=!VAR]
+</code></p></div>
+
+<p>ë¥� �¬ì�©í��ë©� �´ì���� �¤ì���� <code>VAR</code>�´ë�¼ë��
+��ê²� ë³���ë¥� �´ì���� �� ���µë����.</p>
+
+<p>��ê²� ë³����� CGI ��ë¡�ê·¸ë��, �¤ë¥¸ RewriteRule ì§����� ����
+CustomLog ì§����´ë�� �¬í�¨í�� �¤ì���� 컨í���¤í�¸ì���� �¬ì�©í�� ��
+���µë����.</p>
+
+<p>�¤ì�� ������ ��ì²��� URIê°� �´ë�¸ì� ���¼ì�� ê²½ì��
+'image'�¼ë�� ��ê²� ë³���ë¥� '1' ê°��¼ë� �¤ì���©ë����. ê·¸ë�� �¤ì��
+�´ë�� ��ê²� ë³���ë¥� �¬ì�©í���� ��ê·� ë¡�ê·¸ì���� �´ë�� ��ì²���
+���¸í�©ë����.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "\.(png|gif|jpg)$" "-" [E=image:1]
+CustomLog "logs/access_log" combined env=!image</pre>
+
+
+<p>�� ���¼í�� �¨ê³¼�� <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>ë¥� �¬ì�©í���� �»ì�� ��
+���µë����. �� 기ì���� ê¶��� �¬í���� ���� ����ë¡� ��ê³µë�©ë����.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_end" id="flag_end">END</a> <a title="Permanent link" href="#flag_end" class="permalink">¶</a></h2>
+<p>[END] ����ê·¸ë�� �¬ì�©í��ë©� ([L]ê³� ê°���) ���� �¬ì���� ì²�ë¦�
+�¼ì�´ë��ë¥� ì¢�ë£��� ë¿�ë§� ������ ������리ë�(htaccess)
+컨í���¤í�¸ì���� ���� �¬ì���� ì²�리ê� ë°������� ê²���
+ë°©ì��©ë����.</p>
+
+<p>�´ê��� �¸ë� 리ë�¤ì�´ë���¸ë� �¸í�� �� ��ì²����� ���©ë��ì§�
+���µë����.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_f" id="flag_f">F|forbidden</a> <a title="Permanent link" href="#flag_f" class="permalink">¶</a></h2>
+<p>[F] ����ê·¸ë�� �¬ì�©í��ë©� ��ë²�ê°� �´ë�¼ì�´ì�¸í�¸ì�� 403 Forbidden
+���� ì½���ë¥� ë°����©ë����. <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> ì§����´ë��
+�¬ì�©í���� ���¼í�� ������ ������ �� ��ì§�ë§�, �´ê��� Forbidden
+����ë¥� ���¹í���� �� �� ë§��� ���°ì�±ì�� ��ê³µí�©ë����.</p>
+
+<p>�¤ì�� ê·�ì¹��� ��ë²����� <code>.exe</code> ���¼ì��
+�¤ì�´ë���ë¥� ê¸�ì§��©ë����.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "\.exe" "-" [F]</pre>
+
+
+<p>�� ������ �¬ì���� ������ "-" 구문�� �¬ì�©í��ë©�, ��ì²���
+URIê°� ������ì§� ������ ��미í�©ë����. ��ì²��� ê¸�ì§����¤ë�� ê²½ì��
+�¤ë¥¸ URIë¡� �¬ì���±í�� �´ì��ê°� ���µë����.</p>
+
+<p>[F]ë¥� �¬ì�©í�� �� [L]�� �����©ë���� - ì¦�, ���µì�� ì¦���
+ë°�����ê³� ì¶�ê°� ê·�ì¹��� ��ê°���ì§� ���µë����.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_g" id="flag_g">G|gone</a> <a title="Permanent link" href="#flag_g" class="permalink">¶</a></h2>
+<p>[G] ����ê·¸ë�� ��ë²�ê°� ���µê³¼ �¨ê� 410 Gone ����ë¥�
+ë°�������ë¡� ê°����©ë����. �´ê��� ������ �´ì���� �¬ì��
+ê°��¥í��ì§�ë§� �� �´ì�� �¬ì�©í�� �� ������ ����������.</p>
+
+<p>[F] ����ê·¸ì�� ë§�ì°¬ê�ì§�ë¡� [G] ����ê·¸ë�� �¬ì�©í�� ����
+�¼ë����¼ë� �¬ì���� ������ "-" 구문�� �¬ì�©í�©ë����:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "oldproduct" "-" [G,NC]</pre>
+
+
+<p>[G]ë¥� �¬ì�©í�� �� [L]�� �����©ë���� - ì¦�, ���µì�� ì¦���
+ë°�����ê³� ì¶�ê°� ê·�ì¹��� ��ê°���ì§� ���µë����.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_h" id="flag_h">H|handler</a> <a title="Permanent link" href="#flag_h" class="permalink">¶</a></h2>
+<p>ê²°ê³¼ ��ì²��� ì§����� �¸ë�¤ë�¬ë� ì²�리ë����ë¡� ê°����©ë����.
+��ë¥� �¤ì��, ���� ���¥ì��ê°� ���� 모ë�� ���¼ì�� php �¸ë�¤ë�¬ë�
+���±í����ë¡� ê°����� �� ���µë����:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "!\." "-" [H=application/x-httpd-php]</pre>
+
+
+<p>
+���� ��� ������ - <code>!\.</code> - �� 리�� <code>.</code>
+문ì��ë¥� �¬í�¨í��ì§� ���� 모ë�� ��ì²�ê³� �¼ì��©ë����.
+</p>
+
+<p>�´ê��� �¼ë� ì¡°ê±´�� �°ë�� �¸ë�¤ë�¬ë�� ê°������� �°ì����
+�¬ì�©í�� �� ���µë����. ��ë¥� �¤ì��, ��ë²�ë³� 컨í���¤í�¸ì���� �¬ì�©ë����
+�¤ì�� �¤ë���«ì�� <code>.phps</code> ���¥ì��ë¡� ��ì²��� ê²½ì��
+<code>.php</code> ���¼ì�� <code>mod_php</code>�� ����
+<em>����</em>����ë¡� �©ë����:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^(/source/.+\.php)s$" "$1" [H=application/x-httpd-php-source]</pre>
+
+
+<p>���� ��� ������ - <code>^(/source/.+\.php)s$</code> -
+�� <code>/source/</code>ë¡� ������ê³� 1ê°� �´ì���� 문ì��ê°� �¤ë�°ë¥´ê³�
+리í�°ë�� <code>.phps</code>ê°� �¤ë�°ë¥´�� 모ë�� ��ì²�ê³� �¼ì��©ë����.
+��참조 $1�� ��ê·� �������� ê´��� ���� 캡ì��� �¼ì�ë¥�
+참조�©ë����.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_l" id="flag_l">L|last</a> <a title="Permanent link" href="#flag_l" class="permalink">¶</a></h2>
+<p>[L] ����ê·¸ë�� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ê°� ê·�ì¹� �¸í�¸ì��
+ì²�리ë�� ì¤�ì§�����ë¡� �©ë����. ��ë¶�ë¶��� 컨í���¤í�¸ì���� �´ê���
+ê·�ì¹��� �¼ì���ë©� �� �´ì�� ê·�ì¹��� ì²�리ë��ì§� ������ ��미í�©ë����.
+�´ê��� Perl�� <code>last</code> ëª��¹ì�´ë�� C��
+<code>break</code> ëª��¹ì�� �´ë�¹í�©ë����. �� ����ê·¸ë�� �¬ì�©í����
+���� ê·�ì¹��� ì¶�ê°� ê·�ì¹��� ê³��¤í��ì§� ��ê³� ì¦��� ���©ë���´ì��
+�¨ì�� ����������.</p>
+
+<p><code>.htaccess</code> ���¼ì�´ë��
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+�¹ì������ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+�¬ì�©í���� ê²½ì�� ê·�ì¹��� ì²�리ë���� ë°©ì���� ���� �´í�´ê� ì¤����©ë����.
+�´ê��� ê°��¨í�� ������ ê·�ì¹��� ì²�리ë��ë©� �¬ì���±ë�� ��ì²���
+URL ���� ��ì§��� �¤ì�� ���¬ë���� ì²�리ë���¤ë�� ê²�������.
+�¬ì���±ë�� ��ì²��� ì²�리ë�� �� <code>.htaccess</code> ���¼ì�´ë��
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+�¹ì���� �¤ì�� ë§���ì§� �� ���¼ë©°, �°ë�¼ì�� ê·�ì¹� �¸í�¸ê� ì²���ë¶���
+�¤ì�� �¤í���� �� ���µë����. ê°��� �¼ë����¼ë� �´ê��� ê·�ì¹� ì¤�
+����ê°� �´ë� ���� �¸ë� 리ë�¤ì�´ë���¸ë�� �¼ì�¼ì� ��ì²� ì²�리ê�
+�¤ì�� �������� ê²½ì�°ì�� ë°����©ë����.</p>
+
+<p>�°ë�¼ì�� �´ë�¬í�� 컨í���¤í�� ì¤� �������� <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ì§����´ë��
+�¬ì�©í���� ê²½ì�� ê·�ì¹��� 루í���� �¼í��ê¸� ���� ëª����� ì¡°ì�ë¥�
+ì·¨í��ê³�, ������ ������ ��ë¡� �¼ë�¨ì�� ê·�ì¹��� �¤í���� ì¢�ë£���ê¸�
+���� [L] ����ê·¸ì��ë§� ��ì¡´í��ì§� ���� ê²��� ì¤����©ë����.</p>
+
+<p>���� ����ê·¸ì�� [END]�� ���� �¬ì���� ì²�ë¦� �¼ì�´ë��ë¥�
+ì¢�ë£��� ë¿�ë§� ������ ������리ë�(htaccess) 컨í���¤í�¸ì����
+���� �¬ì���� ì²�리ê� ë°������� ê²��� ë°©ì��©ë����. �´ê���
+�¸ë� 리ë�¤ì�´ë���¸ë� �¸í�� �� ��ì²����� ���©ë��ì§� ���µë����.</p>
+
+<p>�¬ê¸° 주ì�´ì� ������ 모ë�� ��ì²��� <code>index.php</code>ë¡�
+�¬ì���±í��ë©�, ���� ��ì²��� <code>index.php</code>�� 쿼리 문ì����
+�¸ì��ë¡� ��ê³µí�©ë����. ê·¸ë�¬ë��
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>��
+��ì²��� �´ë�� <code>index.php</code>�� ���� ê²��� ê²½ì��
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+ê±´ë���°ì�´ì���ë¡� �©ë����.</p>
+
+<pre class="prettyprint lang-config">RewriteBase "/"
+RewriteCond "%{REQUEST_URI}" !=/index.php
+RewriteRule "^(.*)" "/index.php?req=$1" [L,PT]</pre>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_n" id="flag_n">N|next</a> <a title="Permanent link" href="#flag_n" class="permalink">¶</a></h2>
+<p>
+[N] ����ê·¸ë�� ê·�ì¹� �¸í�¸ë�� ì§�ê¸�ê¹�ì§��� ê·�ì¹� �¸í�� ê²°ê³¼ë¥�
+�������¼ë� �¬ì�©í���� ì²���ë¶��� �¤ì�� ��������ë¡� �©ë����.
+루í��ë¥� ì´����� �� ���¼ë��ë¡� ê·¹ë���� 주ì��ë¥� 기ì�¸ì��
+�¬ì�©í��������.
+</p>
+<p>
+[Next] ����ê·¸ë�� ��ë¥� �¤ì��, ��ì²����� �¹ì�� 문ì���´ì�´ë��
+문ì��ë¥� ë°�ë³µì���¼ë� ��ì²´í���¤ë�� ê²½ì�°ì�� �¬ì�©í�� �� ���µë����.
+�¬ê¸° ������ ������ ��ì²��� 모ë�� ê³³ì���� Aë¥� Bë¡� ��ì²´í��ë©�
+�� �´ì�� ��ì²´í�� Aê°� ���� ��ê¹�ì§� ê³����©ë����.
+</p>
+<pre class="prettyprint lang-config">RewriteRule "(.*)A(.*)" "$1B$2" [N]</pre>
+
+<p>�´ê��� <code>while</code> 루í��ë¡� ��ê°��� �� ���µë����:
+�� �¨í�´ì�� �¬ì���� �¼ì����� ����(ì¦�, URI�� �¬ì����
+<code>A</code>ê°� �¬í�¨ë���� ���� ����) �� ì¹�����
+�����©ë����(ì¦�, <code>A</code>ë¥� <code>B</code>ë¡�
+��체����).</p>
+
+<p>2.5.0 �´ì������ �� 모ë���� ������ì§� ���� 루í���¼ë�ë¶���
+ë³´í�¸í��ê¸� ���� 10,000ë²��� ë°�ë³� ���� �¤ë�ë¥� ë°����©ë����.
+N ����그� ������ �������� ��� �� ����� ����� ��
+���µë����.</p>
+<pre class="prettyprint lang-config"># 루í���� ê°� �¨ì�¤ì���� 1ê°��� 문ì��ë¥� ��ì²´í�� ����
+RewriteRule "(.+)[><;]$" "$1" [N=32000]
+# ... ���� 10ë²� 루í�� �� �¬ê¸°
+RewriteRule "(.+)[><;]$" "$1" [N=10]</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_nc" id="flag_nc">NC|nocase</a> <a title="Permanent link" href="#flag_nc" class="permalink">¶</a></h2>
+<p>[NC] ����ê·¸ë�� �¬ì�©í��ë©�
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+����문ì��ë¥� 구ë���ì§� ���� ë°©ì���¼ë� �¼ì��©ë����. ì¦�,
+�¼ì����� URI���� 문ì��ê°� ��문ì���¸ì� ��문ì���¸ì� ��ê´���ì§�
+���µë����.</p>
+
+<p>���� �������� �´ë�¸ì� ���¼ì�� ���� 모ë�� ��ì²��� ����
+�´ë�¸ì� ��ë²�ë¡� ��ë¡����©ë����. �¼ì��� ����문ì��ë¥� 구ë���ì§�
+���¼ë��ë¡�, ��ë¥� �¤ì�� <code>.jpg</code>�� <code>.JPG</code>
+���� 모ë�� ���©ë�©ë����.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "(.*\.(jpg|gif|png))$" "http://images.example.com$1" [P,NC]</pre>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ne" id="flag_ne">NE|noescape</a> <a title="Permanent link" href="#flag_ne" class="permalink">¶</a></h2>
+<p>기본���¼ë� <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+�¸ë� 리ë�¤ì�´ë���¸ë� �´ì�´ì� ��, ì¶��¥ì���� �¤ì�� ���� �¸í�¸ì�� �¬í�¨ë��ì§�
+���� 모ë�� 문ì���� 16ì§��� ì½���(�¼ì�¼í�� �¸ì���)ë¡� ë³����©ë����:</p>
+
+<ul>
+ <li>���«ì�� 문ì��: <code>A-Z</code>, <code>a-z</code>,
+ <code>0-9</code></li>
+ <li>�¹ì�� 문ì��: <code>$-_.+!*'(),:;@&=/~</code></li>
+</ul>
+
+<p>��ë¥� �¤ì��, <code>#</code>�� <code>%23</code>�¼ë�,
+<code>?</code>�� <code>%3F</code>ë¡� ë³����©ë����.
+<code>%</code> 문ì���� (<code>%25</code>ë¡�) �´ì�¤ì��´í����ë¯�ë¡�
+ì¹����� �´ë�� ì¡´ì�¬í���� �¼ì�¼í�� �¸ì��©ì�� �´ì� �¸ì��©ë�©ë����.</p>
+
+<p>[NE] ����ê·¸ë�� �¬ì�©í��ë©� �� �´ì�¤ì��´í��ë¥� ë°©ì�����
+<code>#</code>� <code>?</code>�� ��� 문�� ������� ���
+리ë�¤ì�´ë���� URLë¡� ���¬ë�©ë����.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/anchor/(.+)" "/bigpage.html#$1" [NE,R]</pre>
+
+
+<p>
+���� ������ <code>/anchor/xyz</code>�
+<code>/bigpage.html#xyz</code>ë¡� 리ë�¤ì�´ë���¸í�©ë����.
+[NE]ë¥� ���µí��ë©� #�� 16ì§��� ì½����� <code>%23</code>�¼ë�
+ë³������� 404 Not Found �¤ë� ì¡°ê±´�� ë°����©ë����.
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ns" id="flag_ns">NS|nosubreq</a> <a title="Permanent link" href="#flag_ns" class="permalink">¶</a></h2>
+<p>[NS] ����ê·¸ë�� �¬ì�©í��ë©� ��ë¸���ì²����� ê·�ì¹��� �¬ì�©ë���� ê²���
+ë°©ì��©ë����. ��ë¥� �¤ì��, SSI(Server Side Include)ë¥� �¬ì�©í����
+�¬í�¨ë�� ���´ì��� ��ë¸���ì²��´ë©°, �´ë�� ��ë¸���ì²����� �¬ì���±ì��
+ë°������� ê²��� �¼í��ê³� �¶ì�� �� ���µë����. ����
+<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>�� ê°��¥í�� ������ë¦� 기본 ����(��:
+<code>index.html</code> ����)�� ���� ��보� 찾�� �� ��
+�´ê��� �´ë� ��ë¸���ì²��´ë©°, ì¢�ì¢� �´ë�¬í�� ��ë¸���ì²�����
+�¬ì���±ì�� �¼í��ê³� �¶ì�� ê²�������. ��ë¸���ì²������� ��ì²�
+ê·�ì¹� �¸í�¸ê� ���©ë���� ê²��� ���� ���©í��ì§� ���¼ë©° �¤ë�ë¥�
+�¼ì�¼í�� ���� ���µë����. �� ����ê·¸ë�� �¬ì�©í���� 문ì��ê°� ����
+ê·�ì¹��� ���¸í��������.</p>
+
+<p>�� ê·�ì¹��� �¬ì�©í��ì§� �¬ë�ë¥� ê²°ì�����¤ë©´: CGI �¤í�¬ë¦½�¸ë�
+URL�� �����¬ë�� ë¶��� CGI �¤í�¬ë¦½�¸ì�� ���� ì²�리ë����ë¡� ê°�������
+ê²½ì��, ��ë¸���ì²����� 문ì��(���� ���¹í�� �¤ë��¤ë��)ê°� ë°�����
+ê°��¥ì�±ì�� ���µë����. �´ë�¬í�� ê²½ì�� �� ����ê·¸ë��
+�¬ì�©í��������.</p>
+
+<p>
+HTML ���´ì��� �¼ë�ë¡� ë¡������� �´ë�¸ì�, ��ë°��¤í�¬ë¦½�� ����
+���� CSS ���¼ì�� ��ë¸���ì²��� �������� - ë¸��¼ì�°ì���� �´ë��
+ë³����� HTTP ��ì²��¼ë� ��ì²��©ë����.
+</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_p" id="flag_p">P|proxy</a> <a title="Permanent link" href="#flag_p" class="permalink">¶</a></h2>
+<p>[P] ����ê·¸ë�� �¬ì�©í��ë©� ��ì²���
+<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>�� ���� �리�� ����� �����
+�µí�� ì²�리ë�©ë����. ��ë¥� �¤ì��, 모ë�� �´ë�¸ì� ��ì²��� ë°±ì����
+�´ë�¸ì� ��ë²��� ���� ì²�리ë����ë¡� ���¤ë©´ �¤ì��ê³� ê°��� �� ��
+���µë����:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "/(.*)\.(jpg|gif|png)$" "http://images.example.com/$1.$2" [P]</pre>
+
+
+<p>[P] ����ê·¸ë�� �¬ì�©í��ë©� [L]�� �����©ë���� - ì¦�, ��ì²���
+ì¦��� ��ë¡���ë¥� �µí�� ���¬ë��ê³� �´í���� ê·�ì¹��� ê³��¤ë��ì§�
+���µë����.</p>
+
+<p>
+ì¹��� 문ì���´ì�� <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>ê°� ì²�리í�� �� ����
+���¨í�� URI(�¼ë����¼ë� <code>http://</code><em>hostname</em>�¼ë�
+����)�¸ì� ���¸í�´ì�� �©ë����. ê·¸ë��ì§� ���¼ë©´ ��ë¡��� 모ë������
+�¤ë�ê°� ë°����©ë����. �� ����ê·¸ë�� �¬ì�©í���� ë¡�ì»� ��ë²��� �¤ì���¤í���´ì�¤ì��
+��� ����� 매�����
+<code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ì§����´ì��
+�� ê°��¥í�� 구í���� �¬ì�±í�©ë����.</p>
+
+<div class="warning">
+<h3>ë³´ì�� ê²½ê�</h3>
+<p>���� ���� URL�� 구�� ��, ���� ������ ������
+URL �¸í�¸ì�� ���� �´ë�¼ì�´ì�¸í�¸ì�� ���¥ì�¼ë� �¸í�� ë³´ì�� ���¥ì��
+ê³��¤í���� 주ì����������. URL�� �¤í�¤ë� ë°� �¸ì�¤í�¸ë� ë¶�ë¶���
+ê³������� ��ê±°ë�� �´ë�¼ì�´ì�¸í�¸ì��ê²� ë¶��¹í�� ���¥ì�� 주ì�
+����� ��������.</p>
+</div>
+
+<div class="warning">
+<h3>�±ë�� ê²½ê�</h3>
+<p>�� ����ê·¸ë�� �¬ì�©í��ë©� <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>�� �¬ì�©ì��
+�¸ë¦¬ê±°ë��ë©�, �� ê²½ì�� 기본 ��커ê� �¬ì�©ë���� �°ê²°
+��ë§�/�¬ì�¬ì�©ì�� ì²�리í��ì§� ���¼ë��ë¡� ��êµ� �°ê²°�� ì²�리í��ì§�
+���µë����.</p>
+<p>��êµ� �°ê²°�� �¬ì�©í���¤ë©´ ���� URL�� �¤í�¤ë� ë°� �¸ì�¤í��
+���� ���� <code class="directive"><a href="../mod/mod_proxy.html#proxy">Proxy</a></code>
+ë¸�ë¡��� ìµ����� �¤ì����ê³� ��ë¥� �¤ì�� ���������� �¤ì������
+<code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code> ì§����´ë��
+�¬í�¨í�´ì�� �©ë����.</p>
+<p><code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ����
+<code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code>�
+�¤ì����ë©� ��êµ� �°ê²°�� �����¼ë� �¬ì�©ë�©ë����.</p>
+</div>
+
+<p>ì°¸ê�: �� ����ê·¸ë�� �¬ì�©í���¤ë©´
+<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>ê°� ���±í������ ���´ì�� �©ë����.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_pt" id="flag_pt">PT|passthrough</a> <a title="Permanent link" href="#flag_pt" class="permalink">¶</a></h2>
+
+<p>
+RewriteRule�� ����(���� ì¹��� 문ì����)�� 기본���¼ë� ����
+ê²½ë�ë¡� ê°�주ë�©ë����. [PT] ����ê·¸ë�� �¬ì�©í��ë©� ���� URIë¡�
+ì²�리ë�©ë����. ì¦�, [PT] ����ê·¸ë�� �¬ì�©í��ë©�
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+ê²°ê³¼ê°� URL 매í���� �µí�� �¤ì�� ���¬ë��ë¯�ë¡�,
+<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>,
+<code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code> ����
+<code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>�� ���
+��ì¹� 기ë� 매í���� �¨ê³¼ë¥� ë°����� 기í��ë¥� ê°�ì§�����.
+</p>
+
+<p>
+��ë¥� �¤ì��, /icons�� ����
+<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>� ���
+거기� �리�� <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+���¤ë©´ <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>ê°�
+��ê°�����ë¡� [PT] ����ê·¸ë�� �¬ì�©í�´ì�� �©ë����.
+</p>
+
+<pre class="prettyprint lang-config">Alias "/icons" "/usr/local/apache/icons"
+RewriteRule "/pics/(.+)\.jpg$" "/icons/$1.gif" [PT]</pre>
+
+
+<p>
+�� ê²½ì�� [PT] ����ê·¸ë�� ���µí��ë©� Aliasê°� 무ì������
+'File not found' �¤ë�ê°� ë°����©ë����.
+</p>
+
+<p><code>PT</code> ����그� <code>L</code> ����그�
+�����©ë����: ��ì²��� ì²�리ì�� �¤ì�� �¨ê�ë¡� ���¬í��ê¸� ����
+�¬ì���±ì�� ì¤�ì§��©ë����.</p>
+
+<p><code>PT</code> ����그�
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+�¹ì���´ë�� <code>.htaccess</code> ���¼ê³¼ ê°��� ������리ë�
+컨í���¤í�¸ì���� �����©ë����. �´ë�� �°í������ ���¼í�� ë°©ë���
+<code>-</code>ë¡� �¬ì���±í���� ê²�������.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsa" id="flag_qsa">QSA|qsappend</a> <a title="Permanent link" href="#flag_qsa" class="permalink">¶</a></h2>
+<p>
+��ì²� URI�� 쿼리 문ì���´ì�� �¬í�¨ë�� ê²½ì��
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+기본 ������ 기존 쿼리 문ì���´ì�� ë²�리ê� ��ë¡� ���±ë�� ê²��¼ë�
+��ì²´í���� ê²�������. [QSA] ����ê·¸ë�� �¬ì�©í��ë©� 쿼리 문ì���´ì��
+결�����.
+</p>
+
+<p>�¤ì�� ê·�ì¹��� ê³��¤í��������:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA]</pre>
+
+
+<p>[QSA] ����ê·¸ë�� �¬ì�©í��ë©� <code>/pages/123?one=two</code>��
+���� ����� <code>/page.php?page=123&one=two</code>�
+매í���©ë����. [QSA] ����ê·� ���� ���¼í�� ��ì²���
+<code>/page.php?page=123</code>�¼ë� 매í���©ë���� - ì¦�,
+기존 쿼리 문ì���´ì�� ë²��¤ì�����.
+</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsd" id="flag_qsd">QSD|qsdiscard</a> <a title="Permanent link" href="#flag_qsd" class="permalink">¶</a></h2>
+<p>
+��ì²��� URI�� 쿼리 문ì���´ì�� �¬í�¨ë���� ��ê³� ���� URI����
+���� 경�, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+기본 ������ �´ë�� 쿼리 문ì���´ì�� ���� URI�� ë³µì�¬í����
+ê²�������. [QSD] ����ê·¸ë�� �¬ì�©í��ë©� 쿼리 문ì���´ì��
+ë²��¤ì�����.
+</p>
+
+<p>�� ����ê·¸ë�� ë²��� 2.4.0 �´ì������ �¬ì�©í�� �� ���µë����.</p>
+
+<p>
+[QSD]�� [QSA]ë¥� �¨ê� �¬ì�©í��ë©� [QSD]ê°� �°ì���©ë����.
+</p>
+
+<p>
+���� URI�� 쿼리 문ì���´ì�� ���� ê²½ì�� 기본 ������
+ê´�ì°°ë�©ë���� - ì¦�, ���� 쿼리 문ì���´ì�� ë²��¤ì�ê³�
+<code>RewriteRule</code> ���� URI�� 쿼리 문ì���´ë�
+��체����.
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsl" id="flag_qsl">QSL|qslast</a> <a title="Permanent link" href="#flag_qsl" class="permalink">¶</a></h2>
+<p>
+기본���¼ë� ì¹������� ì²� ë²�ì§�(ê°��� �¼ìª½) 물ì����ê°� ê²½ë���
+쿼리 문ì���´ì�� 구ë��©ë����. [QSL] ����ê·¸ë�� �¬ì�©í��ë©�
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+���� ë§�ì§�ë§�(ê°��� �¤ë¥¸ìª�) 물ì����ë¥� �¬ì�©í���� �� 구ì�� ����ë¥�
+�리����.</p>
+
+<p>
+�´ê��� ���¼ë��� 리í�°ë�� 물ì����ê°� ���� ���¼ì�� 매í���� ��
+���©í�©ë����. ì¹����� 쿼리 문ì���´ì�� �¬ì�©ë��ì§� ���� ê²½ì��
+�� ����ê·¸ì�� �¨ê� 물ì����ë¥� ì¶�ê°��� �� ���µë����.</p>
+
+<p>�� ����ê·¸ë�� ë²��� 2.4.19 �´ì������ �¬ì�©í�� �� ���µë����.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_r" id="flag_r">R|redirect</a> <a title="Permanent link" href="#flag_r" class="permalink">¶</a></h2>
+<p>
+[R] ����ê·¸ë�� �¬ì�©í��ë©� ë¸��¼ì�°ì���� HTTP 리ë�¤ì�´ë���¸ê�
+ë°����©ë����. ������ URL(ì¦�,
+<code>http://servername/</code> �¬í��)�� ì§�����ë©�
+�´ë�� ��ì¹�ë¡� 리ë�¤ì�´ë���¸ê� ë°����©ë����. ê·¸ë��ì§� ���¼ë©´
+���� ��ë¡���ì½�, ��ë²�ëª� ë°� �¬í�� ë²��¸ê� 리ë�¤ì�´ë���¸ì��
+�¨ê� ���¡ë���� URL�� ���±í���� �� �¬ì�©ë�©ë����.
+</p>
+
+<p>
+���¨í�� <em>모ë��</em> HTTP ���� ���� ì½���ë¥�
+[R=305] 구문�¼ë� ì§����� �� ���¼ë©°, ì§�����ì§� ���¼ë©´
+302 ���� ì½���ê°� 기본���¼ë� �¬ì�©ë�©ë����. ì§����� ���� ì½���ê°�
+ë°����� 리ë�¤ì�´ë����(3xx) ���� ì½����� ������ ���µë����.
+ê·¸ë�¬ë�� ���� ì½���ê°� 리ë�¤ì�´ë���� ë²���(300-399) ë°��� ���¼ë©´
+ì¹��� 문ì���´ì�� ������ ������ê³� <code>L</code>�� �¬ì�©ë��
+ê²�ì²��� �¬ì���±ì�� ì¤�ì§��©ë����.</p>
+
+<p>���� ���� ì½��� �¸ì���� 기í�� �´ë��� �¬ì�©í���� 리ë�¤ì�´ë����
+����ë¥� ì§����� ���� ���µë����: <code>temp</code>(기본ê°�),
+<code>permanent</code> ���� <code>seeother</code>.</p>
+
+<p>
+ê±°ì�� ���� [R]�� [L]ê³� �¨ê� �¬ì�©í��ê³� �¶ì�� ê²�������(ì¦�,
+[R,L]). [R] ����ê·� �¨ë���¼ë��� URI ����
+<code>http://thishost[:thisport]</code>� ������
+�´ë�� ê·�ì¹� �¸í�¸ì�� �¤ì�� ê·�ì¹��� ���¬í���� ì¢�ì¢�
+'Invalid URI in request' ê²½ê�ë¥� ì´����©ë����.
+</p>
+
+<p>ì°¸ê�: httpd�� HTTP �¬ì���� �¬í�¨ë�� ���� ì½���ë§�
+ì§����©ë����. �¸ì���� �� ���� ���� ì½���ë¥� �¬ì�©í��ë©�
+500 �¤ë��� �¤ë� ë¡�ê·� ë©���ì§�ê°� ë°����©ë����.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_s" id="flag_s">S|skip</a> <a title="Permanent link" href="#flag_s" class="permalink">¶</a></h2>
+<p>[S] ����ê·¸ë�� �¤í����ê³� �¶ì� ���� ê·�ì¹��� ê±´ë���°ë�� ��
+�¬ì�©ë�©ë����. ê±´ë���°ê¸° ����ê·¸ì�� 구문�� [S=<em>N</em>]�´ë©°,
+<em>N</em>�� 건��� ���� ��� ����������
+(<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>�
+���� <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+ì§����´ê� �¼ì����� ê²½ì��). �´ê��� �¬ì���� ê·�ì¹� �¸í�¸ì��
+<code>goto</code> 문ì�¼ë� ��ê°��� �� ���µë����. �¤ì�� ����������
+��ì²��� URIê°� �¤ì�� ���¼ì�� �´ë�¹í��ì§� ���� ê²½ì�°ì��ë§�
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+�¤í����ê³��� �©ë����.</p>
+
+<pre class="prettyprint lang-config"># Is the request for a non-existent file?
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+# If so, skip these two RewriteRules
+RewriteRule ".?" "-" [S=2]
+
+RewriteRule "(.*\.gif)" "images.php?$1"
+RewriteRule "(.*\.html)" "docs.php?$1"</pre>
+
+
+<p>�� 기��� <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>�
+ë°�ë¡� �¤ì���� �¤ë��
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>���
+���©ë��ê¸� ��문ì�� ���©í�©ë����. �°ë�¼ì��
+<code>RewriteCond</code>ë¥� �¬ë��
+<code>RewriteRule</code>�� ���©í���¤ë©´ ê°��¥í�� 기ì�� ì¤�
+������ �´ë�� ì¡°ê±´�� ë¶�����ê³� [Skip] ����ê·¸ë�� ê°�ì§�
+<code>RewriteRule</code>�� ������ �������.
+�´ë�� �¬ì�©í���� ���� if-then-else 구조ë¥� ë§��� �� ���µë����:
+then ���� ��� ���� <code>skip=N</code>�� ���,
+N�� else ���� �� ��������:</p>
+<pre class="prettyprint lang-config"># Does the file exist?
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+# Create an if-then-else construct by skipping 3 lines if we meant to go to the "else" stanza.
+RewriteRule ".?" "-" [S=3]
+
+# IF the file exists, then:
+ RewriteRule "(.*\.gif)" "images.php?$1"
+ RewriteRule "(.*\.html)" "docs.php?$1"
+ # Skip past the "else" stanza.
+ RewriteRule ".?" "-" [S=1]
+# ELSE...
+ RewriteRule "(.*)" "404.php?file=$1"
+# END</pre>
+
+
+<p><code class="directive"><If></code>,
+<code class="directive"><ElseIf></code> ë°�
+<code class="directive"><Else></code> ì§����´ë��
+���� �¬ì�©í��ë©� �´ë�¬í�� ì¢�ë¥��� �¤ì���� �� �½ê� �¬ì�±í�� ��
+���µë����.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_t" id="flag_t">T|type</a> <a title="Permanent link" href="#flag_t" class="permalink">¶</a></h2>
+<p>ê²°ê³¼ ���µì�� ���¡ë�� MIME ������ �¤ì���©ë����. �´ê���
+<code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> ì§����´ì��
+���¼í�� �¨ê³¼ë¥� ê°�ì§�����.</p>
+
+<p>��ë¥� �¤ì��, �¹ì�� ë°©ì���¼ë� ��ì²��� ê²½ì�� Perl ���� ì½���ë¥�
+�¼ë� ���¤í�¸ë� ��ê³µí��ê¸� ���� �¤ì�� 기ì���� �¬ì�©í�� ��
+���µë����:</p>
+
+<pre class="prettyprint lang-config"># .pl ���¼ì�� �¼ë� ���¤í�¸ë� ��ê³�
+RewriteRule "\.pl$" "-" [T=text/plain]</pre>
+
+
+<p>���� ���� ���¥ì�� ���� jpeg �´ë�¸ì�ë¥� ���±í���� ì¹´ë��¼ê�
+���� ê²½ì�� ���� �´ë��� 기ì��¼ë� �¬ë�ë¥� MIME �����¼ë�
+�´ë�� �´ë�¸ì�ê°� ��ê³µë����ë¡� ê°����� �� ���µë����:</p>
+
+<pre class="prettyprint lang-config"># �´ë��� 'IMG'ê°� �¬í�¨ë�� ���¼ì�� jpg �´ë�¸ì�������.
+RewriteRule "IMG" "-" [T=image/jpg]</pre>
+
+
+<p>�´ê��� ê°��¨í�� �����´ë©° ����
+<code class="directive"><a href="../mod/core.html#filesmatch"><FilesMatch></a></code>�
+�¬ì�©í���� �� �� ������ �� ���¤ë�� ���� ������������.
+�¬ì���±ì�� ��ì¡´í��ê¸� ���� ���� 문ì���� ���� ���� ��루ì����
+ê³��¤í��������. �¬ì���±ì�� ����ë³´ë�� ���� �� �¨ì�¨ì����
+��루ì���� �©ë����.</p>
+
+<p>
+������리ë� 컨í���¤í�¸ì���� �¬ì�©í���� ê²½ì�� <em>��ì²�
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ì²�ë¦� �¼ì�´ë���� ����</em>
+ì¹����¼ë� <code>-</code>(����)ë§� �¬ì�©í��������.
+ê·¸ë��ì§� ���¼ë©´ �´ë� �¬ì�ë¦�(����
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ì²�ë¦� �¼ì�´ë�� �¬í��)ë¡� �¸í��
+�� ����ê·¸ë� �¤ì���� MIME ������ ���¤ë�©ë����.
+<code>L</code> ����ê·¸ë�� �� 컨í���¤í�¸ì����
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ì²�리ì�� <em>����</em> �¼ì�´ë��ë¥�
+ì¢�ë£����� �� ���©í�� �� ���µë����.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unsafe_allow_3f" id="flag_unsafe_allow_3f">UnsafeAllow3F</a> <a title="Permanent link" href="#flag_unsafe_allow_3f" class="permalink">¶</a></h2>
+ <p>���� ì¤��� HTTP ��ì²��� �¸ì��©ë�� 물ì���� '%3f'ê°� ��ê³�
+ �¬ì���� ê²°ê³¼�� ì¹����� '?'ê°� ���� ê²½ì�� �¬ì���±ì�� ê³�������ë¡�
+ ���©í���¤ë©´ �� ����ê·¸ë�� �¤ì���´ì�� �©ë����. �´ë�� �¸ì��©ë��
+ 물ì������ 캡ì� ë°� �¬ì����� �´ì�©í���� �������� URLë¡�ë¶���
+ 보�����.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unsafe_prefix_stat" id="flag_unsafe_prefix_stat">UnsafePrefixStat</a> <a title="Permanent link" href="#flag_unsafe_prefix_stat" class="permalink">¶</a></h2>
+ <p>��ë²� ë²����� ì¹����� ë³����� ��참조ë¡� ������ê³� ���� ���¤í��
+ ê²½ë�ë¡� �´ì������ ê²½ì�� �� ����ê·¸ë�� �¤ì���´ì�� �©ë����.
+ �´ë�¬í�� ì¹����� 문ì�� 루í�¸ë� �����¬ê� ë¶�ì§� ���µë����.
+ �´ë�� ���¥ë�� ì¹����� ����ì¹� 못í�� ���� ���¤í�� ��ì¹���
+ 매����� �������� URL���� 보�����.</p>
+
+ <p>Available in Apache HTTP Server 2.5.1 and later.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unc" id="flag_unc">UNC</a> <a title="Permanent link" href="#flag_unc" class="permalink">¶</a></h2>
+ <p>�� ����ê·¸ë�� �¤ì����ë©� Windows UNC ê²½ë����� �¬ì�©ë����
+ �¬ë�� ���� �¬ë������ ë³��©ì�� ë°©ì��©ë����. ê·�ì¹��� ì¹�����
+ �¬ë�� 리í�°ë�� �¬ë����ë¡� �������� ê²½ì�� �� ����ê·¸ë��
+ ������ì§� ���µë����.</p>
+
+ <p>Available in Apache HTTP Server 2.5.1 and later.</p>
+</div></div>
+<div class="bottomlang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/flags.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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>RewriteRule Bayrakları - 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" type="text/javascript">
+</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></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="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.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>RewriteRule Bayrakları</h1>
+<div class="toplang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/flags.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+<p>Bu belge, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+yönergesinde kullanılabilecek bayrakları ayrıntılı açıklamalar ve
+örneklerle açıklar.</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="#flag_b">B (geri başvuruları kodla)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bnp">BNP|backrefnoplus (boşluğu +'ya kodlama)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bctls">BCTLS</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bne">BNE</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_c">C|chain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_co">CO|cookie</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_dpi">DPI|discardpath</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_e">E|env</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_end">END</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_f">F|forbidden</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_g">G|gone</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_h">H|handler</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_l">L|last</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_n">N|next</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_nc">NC|nocase</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ne">NE|noescape</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ns">NS|nosubreq</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_p">P|proxy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_pt">PT|passthrough</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsa">QSA|qsappend</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsd">QSD|qsdiscard</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsl">QSL|qslast</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_r">R|redirect</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_s">S|skip</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_t">T|type</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unsafe_allow_3f">UnsafeAllow3F</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unsafe_prefix_stat">UnsafePrefixStat</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unc">UNC</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="intro.html">mod_rewrite'a giriş</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><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="introduction" id="introduction">Giriş</a> <a title="Permanent link" href="#introduction" class="permalink">¶</a></h2>
+<p>Bir <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+yönergesinin davranışı bir veya daha fazla bayrakla
+değiştirilebilir. Bayraklar kuralın sonunda köşeli parantez içinde
+belirtilir ve birden fazla bayrak virgülle ayrılır.</p>
+<pre class="prettyprint lang-config">RewriteRule pattern target [Flag1,Flag2,Flag3]</pre>
+
+
+<p>Her bayrağın (birkaç istisna dışında) <code>CO</code> gibi kısa bir
+biçimi ve <code>cookie</code> gibi uzun bir biçimi vardır. Kısa biçim
+en yaygın olarak kullanılsa da, her bayrağın ne yapması gerektiğini
+hatırlamanız için uzun biçime aşina olmanız önerilir. Bazı bayraklar
+bir veya daha fazla argüman alır. Bayraklar büyük/küçük harf
+duyarsızdır.</p>
+
+<p>İstekle ilişkili üstveriyi değiştiren bayraklar (T=, H=, E=), bir
+değiştirme ('-' dışında) aynı yeniden yazma işleme turunda
+gerçekleştirildiğinde dizin başına ve htaccess bağlamında etkili
+olmaz.</p>
+
+<p>Burada mevcut bayrakların her biri, nasıl kullanabileceğinize dair
+bir örnekle birlikte sunulmaktadı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="flag_b" id="flag_b">B (geri başvuruları kodla)</a> <a title="Permanent link" href="#flag_b" class="permalink">¶</a></h2>
+<p>[B] bayrağı, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+yönergesine dönüşümü uygulamadan önce alfasayısal olmayan karakterleri
+kodlamasını söyler.</p>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> URL'leri eşlemeden önce kodlarını
+çözmek zorundadır, bu nedenle geri başvurular uygulandığında kodları
+çözülmüş olur. B bayrağı kullanıldığında, geri başvurulardaki
+alfasayısal olmayan karakterler kodlanır. Örneğin, şu kuralı ele
+alalım:</p>
+
+<p>Sunucu değişkenlerinin benzer şekilde kodlanması için
+ "escape" <a href="#mapfunc">eşleme işlevine</a> bakın</p>
+
+
+<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1"</pre>
+
+
+<p>Arama terimi 'x & y/z' olduğunda, tarayıcı bunu
+'x%20%26%20y%2Fz' olarak kodlar ve istek 'search/x%20%26%20y%2Fz'
+olur. B bayrağı olmadan bu yeniden yazma kuralı 'search.php?term=x
+& y/z' ile eşleşir ki bu geçerli bir URL değildir ve
+<code>search.php?term=x%20&y%2Fz=</code> olarak kodlanır, bu da
+amaçlanan değildir.</p>
+
+<p>Aynı kuralda B bayrağı ayarlandığında, parametreler çıktı URL'sine
+geçirilmeden önce yeniden kodlanır ve doğru bir eşleme olan
+<code>/search.php?term=x%20%26%20y%2Fz</code> elde edilir.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1" [B,PT]</pre>
+
+
+<p>Bu belirli örneğin çalışması için <code class="directive"><a href="../mod/core.html#allowencodedslashes">AllowEncodedSlashes</a></code> yönergesini
+<code>On</code> olarak ayarlamanız gerekebileceğini unutmayın; çünkü
+httpd URL'lerde kodlanmış eğik çizgilere izin vermez ve bir tane
+görürse 404 döndürür.</p>
+
+<p>Bu kodlama özellikle vekil durumunda gereklidir; arka uç, kodları
+çözülmüş bir URL ile karşılaşırsa bozulabilir.</p>
+
+<p>Bu bayrağa bir alternatif, %{THE_REQUEST} değerine karşı yakalama
+yapan bir <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+kullanmaktır; bu, dizgeleri kodlanmış biçimde yakalar.</p>
+
+<p>2.4.26 ve sonrasında, geri başvurulardaki kodlamayı belirli
+karakterlerle sınırlayabilirsiniz: <code>[B=#?;]</code>. Not: Boşluk
+karakteri kodlanacak karakterler listesinde kullanılabilir, ancak
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesinin
+üçüncü argümanının tamamını tırnak içine almanız ve boşluğun listenin
+son karakteri olmaması gerekir.</p>
+
+<pre class="prettyprint lang-config"># Boşlukları ve soru işaretlerini kodla. Son argüman etrafındaki
+# tırnak işaretleri, boşluk dahil edildiğinde gereklidir.
+RewriteRule "^search/(.*)$" "/search.php?term=$1" "[B= ?]"</pre>
+
+
+<p>Bu şekilde kodlanan karakterleri sınırlamak için <a href="#flag_bne">#flag_bne</a> ve <a href="#flag_bctls">#flag_bctls</a> bayraklarına bakın</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bnp" id="flag_bnp">BNP|backrefnoplus (boşluğu +'ya kodlama)</a> <a title="Permanent link" href="#flag_bnp" class="permalink">¶</a></h2>
+<p>[BNP] bayrağı, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+yönergesine geri başvurulardaki boşluk karakterini '+' yerine %20
+olarak kodlamasını söyler. Geri başvuru sorgu dizgesi yerine yol
+bileşeninde kullanılacaksa yararlıdır.</p>
+
+<pre class="prettyprint lang-config"># Form gönderimi yoluyla sorgu dizgesinde kullanılan + yerine yolda
+# boşlukları %20 olarak kodla
+RewriteRule "^search/(.*)$" "/search.php/$1" "[B,BNP]"</pre>
+
+
+
+<p>Bu bayrak 2.4.26 ve sonraki sürümlerde mevcuttur.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bctls" id="flag_bctls">BCTLS</a> <a title="Permanent link" href="#flag_bctls" class="permalink">¶</a></h2>
+<p>[BCTLS] bayrağı [B] bayrağına benzer, ancak yalnızca kontrol
+karakterlerini ve boşluk karakterini kodlar. Bu, sorgu dizgesine
+kodlanmadan kopyalandıklarında reddedilen karakter kümesiyle
+aynıdır.</p>
+
+<pre class="prettyprint lang-config"># Kontrol karakterlerini ve boşlukları kodla
+RewriteRule "^search/(.*)$" "/search.php/$1" "[BCTLS]"</pre>
+
+
+<p>Bu bayrak 2.5.1 ve sonraki sürümlerde mevcuttur.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bne" id="flag_bne">BNE</a> <a title="Permanent link" href="#flag_bne" class="permalink">¶</a></h2>
+<p>[BNE=...] içindeki karakter listesi, [B] veya [BCTLS] bayraklarının
+karakterlerinden istisna olarak değerlendirilir. Listelenen karakterler
+kodlanmayacaktır.</p>
+
+<pre class="prettyprint lang-config"># Öntanımlı karakterleri kodla, ancak / karakterini bırak
+RewriteRule "^search/(.*)$" "/search.php?term=$1" "[B,BNE=/]"</pre>
+
+
+<p>Bu bayrak 2.5.1 ve sonraki sürümlerde mevcuttur.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_c" id="flag_c">C|chain</a> <a title="Permanent link" href="#flag_c" class="permalink">¶</a></h2>
+<p>[C] veya [chain] bayrağı, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesinin bir sonraki
+kurala zincirleneceğini belirtir. Yani, kural eşleşirse her zamanki
+gibi işlenir ve denetim bir sonraki kurala geçer. Ancak eşleşmezse bir
+sonraki kural ve birlikte zincirlenen diğer kurallar atlanı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="flag_co" id="flag_co">CO|cookie</a> <a title="Permanent link" href="#flag_co" class="permalink">¶</a></h2>
+<p>[CO] veya [cookie] bayrağı, belirli bir <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> eşleştiğinde bir çerez
+ayarlamanıza olanak tanır. Argüman üç zorunlu ve beş isteğe bağlı
+alandan oluşur.</p>
+
+<p>Bayrağın tüm öznitelikler dahil tam sözdizimi şöyledir:</p>
+
+<div class="example"><p><code>
+[CO=NAME:VALUE:DOMAIN:lifetime:path:secure:httponly:samesite]
+</code></p></div>
+
+<p>Çerez alanlarından herhangi birinde birebir ':' karakterine ihtiyaç
+duyulursa, alternatif bir sözdizimi mevcuttur. Alternatif sözdizimini
+etkinleştirmek için çerez "Name" alanının önüne ';' karakteri
+konulmalı ve alan ayırıcıları ';' olarak belirtilmelidir.</p>
+
+<div class="example"><p><code>
+[CO=;NAME;VALUE:MOREVALUE;DOMAIN;lifetime;path;secure;httponly;samesite]
+</code></p></div>
+
+<p>Çerezin ayarlanması için bir ad, bir değer ve bir alan adı
+bildirmelisiniz.</p>
+
+<dl>
+<dt>Alan Adı (Domain)</dt>
+<dd>Çerezin geçerli olmasını istediğiniz alan adı. Bu,
+<code>www.example.com</code> gibi bir konak adı veya
+<code>.example.com</code> gibi bir alan adı olabilir. En az iki
+parçadan oluşmalı ve bir nokta ile ayrılmalıdır. Yani yalnızca
+<code>.com</code> veya <code>.net</code> olamaz. Bu tür çerezler
+çerez güvenlik modeli tarafından yasaklanmıştır.</dd>
+</dl>
+
+<p>İsteğe bağlı olarak aşağıdaki değerleri de ayarlayabilirsiniz:</p>
+
+<dl>
+<dt>Ömür (Lifetime)</dt>
+<dd>Çerezin kalıcı olacağı süre, dakika cinsinden.</dd>
+<dd>0 değeri, çerezin yalnızca geçerli tarayıcı oturumu süresince
+kalıcı olacağını belirtir. Hiçbir değer belirtilmezse bu öntanımlı
+değerdir.</dd>
+<dd>Negatif bir değer, çerezin tarayıcıda silinmesine neden olur.</dd>
+
+<dt>Yol (Path)</dt>
+<dd>Geçerli web sitesinde çerezin geçerli olduğu yol;
+<code>/customers/</code> veya <code>/files/download/</code> gibi.</dd>
+<dd>Öntanımlı olarak <code>/</code> olarak ayarlanır - yani web
+sitesinin tamamı.</dd>
+
+<dt>Güvenli (Secure)</dt>
+<dd><code>secure</code>, <code>true</code> veya <code>1</code> olarak
+ayarlanırsa, çerez yalnızca güvenli (https) bağlantılar üzerinden
+aktarılabilir.</dd>
+
+<dt>httponly</dt>
+<dd><code>HttpOnly</code>, <code>true</code> veya <code>1</code>
+olarak ayarlanırsa, çerez <code>HttpOnly</code> bayrağıyla
+ayarlanır; bu, çerezin bu özelliği destekleyen tarayıcılarda
+JavaScript koduna erişilemez olduğu anlamına gelir.</dd>
+
+<dt>samesite</dt>
+<dd><code>false</code> veya <code>0</code> dışında bir değere
+ayarlanırsa, <code>SameSite</code> özniteliği belirtilen değere
+ayarlanır. Tipik değerler <code>None</code>, <code>Lax</code> ve
+<code>Strict</code>'tir. 2.5.1 ve sonrasında mevcuttur.</dd>
+</dl>
+
+
+<p>Şu örneği ele alalım:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine On
+RewriteRule "^/index\.html" "-" [CO=frontdoor:yes:.example.com:1440:/]</pre>
+
+
+<p>Verilen örnekte, kural isteği yeniden yazmaz. "-" yeniden yazma
+hedefi, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülüne isteği değiştirmeden
+geçirmesini söyler. Bunun yerine, 'frontdoor' adlı bir çerezi 'yes'
+değeriyle ayarlar. Çerez <code>.example.com</code> alan adındaki
+herhangi bir konak için geçerlidir. 1440 dakika (24 saat) sonra sona
+erecek şekilde ayarlanır ve tüm URI'ler için döndürülü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="flag_dpi" id="flag_dpi">DPI|discardpath</a> <a title="Permanent link" href="#flag_dpi" class="permalink">¶</a></h2>
+<p>DPI bayrağı, yeniden yazılmış URI'nin PATH_INFO bölümünün
+atılmasına neden olur.</p>
+<p>Bu bayrak 2.2.12 ve sonraki sürümlerde mevcuttur.</p>
+<p>Dizin başına bağlamda, her <code class="directive">RewriteRule</code>
+yönergesinin karşılaştırdığı URI, URI'nin ve PATH_INFO'nun geçerli
+değerlerinin birleşimidir.</p>
+
+<p>Geçerli URI, istemcinin istediği ilk URI, önceki bir
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> işleme turunun sonucu veya geçerli
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> işleme turundaki önceki bir kuralın
+sonucu olabilir.</p>
+
+<p>Buna karşılık, her kuraldan önce URI'ye eklenen PATH_INFO yalnızca
+bu <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> işleme turundan önceki PATH_INFO
+değerini yansıtır. Sonuç olarak, URI'nin büyük bölümleri birden fazla
+<code class="directive">RewriteRule</code> yönergesinde bir değiştirmeye
+eşlenip kopyalanırsa ve URI'nin hangi bölümlerinin geçerli
+PATH_INFO'dan geldiğine dikkat edilmezse, son URI'ye PATH_INFO'nun
+birden fazla kopyası eklenebilir.</p>
+
+<p>Bu bayrağı, önceki dosya sistemi eşlemesinden kaynaklanan
+PATH_INFO'nun ilgilendirmediği herhangi bir değiştirmede kullanın. Bu
+bayrak, bu <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> işleme turu başlamadan önce
+oluşturulan PATH_INFO'yu kalıcı olarak unutur. PATH_INFO, geçerli
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> işleme turu tamamlanana kadar yeniden
+hesaplanmaz. Bu tur boyunca sonraki kurallar, yalnızca değiştirmelerin
+doğrudan sonucunu görür; eklenmiş bir PATH_INFO olmaz.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_e" id="flag_e">E|env</a> <a title="Permanent link" href="#flag_e" class="permalink">¶</a></h2>
+<p>[E] veya [env] bayrağıyla bir ortam değişkeninin değerini
+ayarlayabilirsiniz. Bazı ortam değişkenlerinin kural çalıştıktan sonra
+ayarlanabileceğini ve böylece ayarladığınız değeri geçersiz
+kılabileceğini unutmayın. Ortam değişkenlerinin nasıl çalıştığı
+hakkında daha fazla ayrıntı için <a href="../env.html">Ortam
+Değişkenleri belgesine</a> bakın.</p>
+
+<p>Bu bayrağın tam sözdizimi şöyledir:</p>
+
+<pre class="prettyprint lang-config">[E=VAR:VAL]
+[E=!VAR]</pre>
+
+
+<p><code>VAL</code>, genişletilen geri başvurular (<code>$N</code>
+veya <code>%N</code>) içerebilir.</p>
+
+<p>Kısa biçimi kullanarak</p>
+
+<div class="example"><p><code>
+[E=VAR]
+</code></p></div>
+
+<p><code>VAR</code> adlı ortam değişkenini boş bir değere
+ayarlayabilirsiniz.</p>
+
+<p>Şu biçim</p>
+
+<div class="example"><p><code>
+[E=!VAR]
+</code></p></div>
+
+<p>daha önce ayarlanmış <code>VAR</code> adlı ortam değişkeninin
+silinmesine olanak tanır.</p>
+
+<p>Ortam değişkenleri daha sonra CGI programları, diğer RewriteRule
+yönergeleri veya CustomLog yönergeleri dahil olmak üzere çeşitli
+bağlamlarda kullanılabilir.</p>
+
+<p>Aşağıdaki örnek, istenen URI bir resim dosyasıysa 'image' adlı bir
+ortam değişkenini '1' değerine ayarlar. Daha sonra bu ortam değişkeni,
+bu istekleri erişim günlüğünden dışlamak için kullanılır.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "\.(png|gif|jpg)$" "-" [E=image:1]
+CustomLog "logs/access_log" combined env=!image</pre>
+
+
+<p>Aynı etkinin <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>
+kullanılarak elde edilebileceğini unutmayın. Bu teknik bir öneri olarak
+değil, bir örnek olarak sunulmuştur.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_end" id="flag_end">END</a> <a title="Permanent link" href="#flag_end" class="permalink">¶</a></h2>
+<p>[END] bayrağı kullanmak, yalnızca geçerli yeniden yazma işleme
+turunu durdurmakla kalmaz ([L] gibi), aynı zamanda dizin başına
+(htaccess) bağlamda sonraki yeniden yazma işlemlerinin de
+gerçekleşmesini engeller.</p>
+
+<p>Bu, harici yönlendirmelerden kaynaklanan yeni istekler için
+geçerli değildir.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_f" id="flag_f">F|forbidden</a> <a title="Permanent link" href="#flag_f" class="permalink">¶</a></h2>
+<p>[F] bayrağı kullanmak, sunucunun istemciye 403 Yasak durum kodu
+döndürmesine neden olur. Aynı davranış <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> yönergesiyle de
+gerçekleştirilebilir ancak bu, Yasak durumu atamada daha fazla esneklik
+sağlar.</p>
+
+<p>Aşağıdaki kural, <code>.exe</code> dosyalarının sunucunuzdan
+indirilmesini yasaklar.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "\.exe" "-" [F]</pre>
+
+
+<p>Bu örnek, yeniden yazma hedefi için "-" sözdizimini kullanır; bu,
+istenen URI'nin değiştirilmediği anlamına gelir. İsteği yasaklayacaksanız
+başka bir URI'ye yeniden yazmanın bir nedeni yoktur.</p>
+
+<p>[F] kullanıldığında, [L] zımnen uygulanır - yani yanıt hemen
+döndürülür ve başka kural değerlendirilmez.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_g" id="flag_g">G|gone</a> <a title="Permanent link" href="#flag_g" class="permalink">¶</a></h2>
+<p>[G] bayrağı, sunucuyu yanıtla birlikte 410 Kalktı durum kodu
+döndürmeye zorlar. Bu, bir kaynağın eskiden mevcut olduğunu ancak
+artık mevcut olmadığını belirtir.</p>
+
+<p>[F] bayrağında olduğu gibi, [G] bayrağını kullanırken genellikle
+yeniden yazma hedefi için "-" sözdizimini kullanırsınız:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "oldproduct" "-" [G,NC]</pre>
+
+
+<p>[G] kullanıldığında, [L] zımnen uygulanır - yani yanıt hemen
+döndürülür ve başka kural değerlendirilmez.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_h" id="flag_h">H|handler</a> <a title="Permanent link" href="#flag_h" class="permalink">¶</a></h2>
+<p>Elde edilen isteğin belirtilen işleyici ile işlenmesini zorlar.
+Örneğin, dosya uzantısı olmayan tüm dosyaların php işleyicisi
+tarafından çözümlenmesini zorlamak için kullanılabilir:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "!\." "-" [H=application/x-httpd-php]</pre>
+
+
+<p>
+Yukarıdaki düzenli ifade - <code>!\.</code> - birebir <code>.</code>
+karakterini içermeyen herhangi bir istekle eşleşir.
+</p>
+
+<p>Bu, bazı koşullara dayalı olarak işleyiciyi zorlamak için de
+kullanılabilir. Örneğin, sunucu bağlamında kullanılan aşağıdaki
+kod parçası, <code>.phps</code> uzantısıyla istendiğinde
+<code>.php</code> dosyalarının <code>mod_php</code> tarafından
+<em>görüntülenmesini</em> sağlar:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^(/source/.+\.php)s$" "$1" [H=application/x-httpd-php-source]</pre>
+
+
+<p>Yukarıdaki düzenli ifade - <code>^(/source/.+\.php)s$</code> -
+<code>/source/</code> ile başlayan, ardından 1 veya n karakter gelen
+ve birebir <code>.phps</code> ile biten herhangi bir istekle eşleşir.
+$1 geri başvurusu, düzenli ifadenin parantez içindeki yakalanan
+eşleşmeye referans verir.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_l" id="flag_l">L|last</a> <a title="Permanent link" href="#flag_l" class="permalink">¶</a></h2>
+<p>[L] bayrağı, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülünün kural kümesini
+işlemeyi durdurmasına neden olur. Çoğu bağlamda, kural eşleşirse başka
+kural işlenmeyeceği anlamına gelir. Bu, Perl'deki <code>last</code>
+komutuna veya C'deki <code>break</code> komutuna karşılık gelir. Bu
+bayrağı, geçerli kuralın diğer kurallar dikkate alınmadan hemen
+uygulanması gerektiğini belirtmek için kullanın.</p>
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesini
+<code>.htaccess</code> dosyalarında veya <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümlerinde kullanıyorsanız,
+kuralların nasıl işlendiğini anlamanız önemlidir. Bunun basitleştirilmiş
+biçimi, kurallar işlendikten sonra yeniden yazılmış isteğin URL
+çözümleme motoruna geri verildiğidir. Yeniden yazılmış istek
+işlenirken <code>.htaccess</code> dosyası veya <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümüyle tekrar karşılaşılması
+ve kural kümesinin baştan çalıştırılması mümkündür. En yaygın olarak
+bu, kurallardan birinin dahili veya harici bir yönlendirmeye neden
+olması durumunda olur ve istek sürecinin yeniden başlamasına yol
+açar.</p>
+
+<p>Bu nedenle, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+yönergelerini bu bağlamlardan birinde kullanıyorsanız, kuralların
+döngüye girmesinden kaçınmak için açık adımlar atmanız ve bir dizi
+kuralın yürütülmesini sonlandırmak için yalnızca [L] bayrağına
+güvenmemeniz önemlidir; aşağıda gösterildiği gibi.</p>
+
+<p>Alternatif bir bayrak olan [END], yalnızca geçerli yeniden yazma
+işleme turunu sonlandırmak için değil, aynı zamanda dizin başına
+(htaccess) bağlamda sonraki yeniden yazma işlemlerinin de
+gerçekleşmesini engellemek için kullanılabilir. Bu, harici
+yönlendirmelerden kaynaklanan yeni istekler için geçerli değildir.</p>
+
+<p>Burada verilen örnek, herhangi bir isteği <code>index.php</code>'ye
+yeniden yazar ve orijinal isteği <code>index.php</code>'ye sorgu
+dizgesi argümanı olarak verir; ancak <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, istek zaten
+<code>index.php</code> için ise <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesinin
+atlanmasını sağlar.</p>
+
+<pre class="prettyprint lang-config">RewriteBase "/"
+RewriteCond "%{REQUEST_URI}" !=/index.php
+RewriteRule "^(.*)" "/index.php?req=$1" [L,PT]</pre>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_n" id="flag_n">N|next</a> <a title="Permanent link" href="#flag_n" class="permalink">¶</a></h2>
+<p>
+[N] bayrağı, kural kümesinin şimdiye kadarki sonucu başlangıç noktası
+olarak kullanarak en baştan yeniden başlamasına neden olur. Döngüye
+neden olabileceğinden son derece dikkatli kullanın.
+</p>
+<p>
+[Next] bayrağı, örneğin bir istekteki belirli bir dizgeyi veya harfi
+tekrar tekrar değiştirmek istediğinizde kullanılabilir. Burada
+gösterilen örnek, bir istekteki her yerde A'yı B ile değiştirecek ve
+değiştirilecek A kalmayana kadar bunu yapmaya devam edecektir.
+</p>
+<pre class="prettyprint lang-config">RewriteRule "(.*)A(.*)" "$1B$2" [N]</pre>
+
+<p>Bunu bir <code>while</code> döngüsü olarak düşünebilirsiniz: Bu
+kalıp hâlâ eşleştiği sürece (yani URI hâlâ bir <code>A</code>
+içerdiği sürece), bu değiştirmeyi yap (yani <code>A</code>'yı
+<code>B</code> ile değiştir).</p>
+
+<p>2.5.0 ve sonrasında, bu modül istenmeyen döngülere karşı koruma
+sağlamak için 10.000 yinelemeden sonra hata döndürür. N bayrağına
+eklenerek alternatif bir maksimum yineleme sayısı belirtilebilir.</p>
+<pre class="prettyprint lang-config"># Döngünün her geçişinde 1 karakter değiştirmeye razı ol
+RewriteRule "(.+)[><;]$" "$1" [N=32000]
+# ... veya 10 döngüden sonra vazgeç
+RewriteRule "(.+)[><;]$" "$1" [N=10]</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_nc" id="flag_nc">NC|nocase</a> <a title="Permanent link" href="#flag_nc" class="permalink">¶</a></h2>
+<p>[NC] bayrağının kullanımı, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesinin büyük/küçük
+harf duyarsız biçimde eşleştirilmesine neden olur. Yani eşleşen
+URI'de harflerin büyük veya küçük harf olarak görünüp görünmediği
+önemli değildir.</p>
+
+<p>Aşağıdaki örnekte, herhangi bir resim dosyası isteği özel resim
+sunucunuza vekil olarak iletilir. Eşleşme büyük/küçük harf
+duyarsızdır; bu nedenle örneğin hem <code>.jpg</code> hem de
+<code>.JPG</code> dosyaları kabul edilir.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "(.*\.(jpg|gif|png))$" "http://images.example.com$1" [P,NC]</pre>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ne" id="flag_ne">NE|noescape</a> <a title="Permanent link" href="#flag_ne" class="permalink">¶</a></h2>
+<p>Öntanımlı olarak, bir <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> harici yönlendirmeyle
+sonuçlandığında, çıktıda aşağıdaki güvenli küme dışında kalan
+karakterler onaltılık kod (yüzde kodlu) eşdeğerlerine
+dönüştürülür:</p>
+
+<ul>
+ <li>Alfasayısal karakterler: <code>A-Z</code>, <code>a-z</code>,
+ <code>0-9</code></li>
+ <li>Özel karakterler: <code>$-_.+!*'(),:;@&=/~</code></li>
+</ul>
+
+<p>Örneğin, <code>#</code> karakteri <code>%23</code>'e ve
+<code>?</code> karakteri <code>%3F</code>'e dönüştürülür.
+<code>%</code> karakteri de kodlanır (<code>%25</code>'e), bu da
+değiştirmede zaten mevcut olan yüzde kodlamanın çift kodlanacağı
+anlamına gelir.</p>
+
+<p>[NE] bayrağı kullanmak bu kodlamayı engeller ve <code>#</code> ile
+<code>?</code> gibi karakterlerin yönlendirme URL'sine
+değiştirilmeden geçmesine olanak tanır.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/anchor/(.+)" "/bigpage.html#$1" [NE,R]</pre>
+
+
+<p>
+Yukarıdaki örnek <code>/anchor/xyz</code> adresini
+<code>/bigpage.html#xyz</code> adresine yönlendirecektir. [NE]
+kullanılmazsa # karakteri onaltılık kod eşdeğeri olan
+<code>%23</code>'e dönüştürülür ve bu da 404 Bulunamadı hata durumuna
+yol açar.
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ns" id="flag_ns">NS|nosubreq</a> <a title="Permanent link" href="#flag_ns" class="permalink">¶</a></h2>
+<p>[NS] bayrağının kullanımı, kuralın alt isteklerde kullanılmasını
+engeller. Örneğin, SSI (Sunucu Tarafı Dahil Etme) kullanılarak dahil
+edilen bir sayfa bir alt istektir ve bu alt isteklerde yeniden
+yazmaların gerçekleşmesini engellemek isteyebilirsiniz. Ayrıca,
+<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> olası dizin öntanımlı dosyaları (örneğin
+<code>index.html</code> dosyaları) hakkında bilgi edinmeye
+çalıştığında, bu bir dahili alt istektir ve genellikle bu tür alt
+isteklerde yeniden yazmaları engellemek istersiniz. Alt isteklerde,
+kuralların tamamının uygulanması her zaman yararlı olmaz ve hatalara
+bile neden olabilir. Sorunlu kuralları dışlamak için bu bayrağı
+kullanın.</p>
+
+<p>Bu kuralı kullanıp kullanmamaya karar vermek için: URL'leri CGI
+betikleriyle ön ekliyorsanız ve bunların CGI betiği tarafından
+işlenmesini zorluyorsanız, alt isteklerde sorunlarla (veya önemli ek
+yükle) karşılaşmanız olasıdır. Bu durumlarda bu bayrağı kullanın.</p>
+
+<p>
+Bir HTML sayfasının parçası olarak yüklenen resimler, javascript
+dosyaları veya css dosyaları alt istek değildir - tarayıcı bunları
+ayrı HTTP istekleri olarak ister.
+</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_p" id="flag_p">P|proxy</a> <a title="Permanent link" href="#flag_p" class="permalink">¶</a></h2>
+<p>[P] bayrağının kullanımı, isteğin <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>
+tarafından işlenmesine ve bir vekil isteği üzerinden ele alınmasına
+neden olur. Örneğin, tüm resim isteklerinin bir arka uç resim
+sunucusu tarafından işlenmesini istiyorsanız, şöyle bir şey
+yapabilirsiniz:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "/(.*)\.(jpg|gif|png)$" "http://images.example.com/$1.$2" [P]</pre>
+
+
+<p>[P] bayrağının kullanımı [L] anlamına gelir - yani istek hemen
+vekil üzerinden iletilir ve sonraki kurallar dikkate alınmaz.</p>
+
+<p>
+Değiştirme dizgesinin <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> tarafından
+işlenebilecek geçerli bir URI olduğundan (genellikle
+<code>http://</code><em>konakadı</em> ile başlayan) emin olmalısınız.
+Değilse, vekil modülünden bir hata alırsınız. Bu bayrağı, uzak
+içeriği yerel sunucunun ad alanına eşlemek için <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> yönergesinin daha güçlü
+bir uygulamasını gerçekleştirmek için kullanın.</p>
+
+<div class="warning">
+<h3>Güvenlik Uyarısı</h3>
+<p>Kuralın hedef URL'sini oluştururken, istemcinin sunucunuzun vekil
+olarak davranacağı URL kümesi üzerindeki etkisinin güvenlik
+sonuçlarını dikkate alın. URL'nin şema ve konak adı bölümünün ya sabit
+olduğundan ya da istemciye gereksiz etki izni vermediğinden emin
+olun.</p>
+</div>
+
+<div class="warning">
+<h3>Performans uyarısı</h3>
+<p>Bu bayrağı kullanmak, kalıcı bağlantıları yönetmeyen öntanımlı
+işçi bu durumda kullanıldığından bağlantı havuzlama/yeniden kullanımı
+olmaksızın <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> kullanımını tetikler.</p>
+<p>Kalıcı bağlantıları kullanmak için en azından hedef URL'nin şema
+ve konak bölümü için örneğin bir zaman aşımı ayarladığınız
+<code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code> yönergesi içeren
+bir <code class="directive"><a href="../mod/mod_proxy.html#proxy">Proxy</a></code> bloğu
+kurmalısınız.</p>
+<p><code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> veya
+<code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code> ile
+kurarsanız kalıcı bağlantılar otomatik olarak kullanılacaktır.</p>
+</div>
+
+<p>Not: Bu bayrağı kullanmak için <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>
+etkinleştirilmiş olmalıdı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="flag_pt" id="flag_pt">PT|passthrough</a> <a title="Permanent link" href="#flag_pt" class="permalink">¶</a></h2>
+
+<p>
+Bir RewriteRule'daki hedef (veya değiştirme dizgesi) öntanımlı olarak
+bir dosya yolu olarak kabul edilir. [PT] bayrağının kullanılması,
+bunun yerine bir URI olarak işlenmesine neden olur. Yani, [PT]
+bayrağının kullanılması, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> sonucunun, <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code> veya <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> gibi konum tabanlı
+eşlemelerin etki edebilmesi için URL eşlemesine geri iletilmesine
+neden olur.
+</p>
+
+<p>
+Örneğin, /icons için bir <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> tanımınız varsa ve oraya
+işaret eden bir <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> varsa, <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> yönergesinin
+değerlendirilmesini sağlamak için [PT] bayrağını kullanmalısınız.
+</p>
+
+<pre class="prettyprint lang-config">Alias "/icons" "/usr/local/apache/icons"
+RewriteRule "/pics/(.+)\.jpg$" "/icons/$1.gif" [PT]</pre>
+
+
+<p>
+Bu durumda [PT] bayrağının atlanması, Alias'ın yok sayılmasına neden
+olur ve 'Dosya bulunamadı' hatası döndürülür.
+</p>
+
+<p><code>PT</code> bayrağı <code>L</code> bayrağını ima eder:
+isteği bir sonraki işleme aşamasına geçirmek için yeniden yazma
+durdurulur.</p>
+
+<p><code>PT</code> bayrağının <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümleri veya
+<code>.htaccess</code> dosyaları gibi dizin başına bağlamlarda
+zımnen uygulandığını unutmayın. Bundan kaçınmanın tek yolu
+<code>-</code>'ye yeniden yazmaktı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="flag_qsa" id="flag_qsa">QSA|qsappend</a> <a title="Permanent link" href="#flag_qsa" class="permalink">¶</a></h2>
+<p>
+Değiştirme URI'si bir sorgu dizgesi içerdiğinde, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesinin öntanımlı
+davranışı mevcut sorgu dizgesini atıp yeni oluşturulanla
+değiştirmektir. [QSA] bayrağı kullanmak sorgu dizgelerinin
+birleştirilmesine neden olur.
+</p>
+
+<p>Şu kuralı ele alalım:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA]</pre>
+
+
+<p>[QSA] bayrağıyla, <code>/pages/123?one=two</code> isteği
+<code>/page.php?page=123&one=two</code> ile eşlenir. [QSA]
+bayrağı olmadan, aynı istek
+<code>/page.php?page=123</code> ile eşlenir - yani mevcut sorgu
+dizgesi atılı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="flag_qsd" id="flag_qsd">QSD|qsdiscard</a> <a title="Permanent link" href="#flag_qsd" class="permalink">¶</a></h2>
+<p>
+İstenen URI bir sorgu dizgesi içerdiğinde ve hedef URI içermediğinde,
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesinin
+öntanımlı davranışı o sorgu dizgesini hedef URI'ye kopyalamaktır.
+[QSD] bayrağı kullanmak sorgu dizgesinin atılmasına neden olur.
+</p>
+
+<p>Bu bayrak 2.4.0 ve sonraki sürümlerde mevcuttur.</p>
+
+<p>
+[QSD] ve [QSA] birlikte kullanıldığında [QSD] öncelikli olur.
+</p>
+
+<p>
+Hedef URI bir sorgu dizgesine sahipse, öntanımlı davranış
+gözlemlenir - yani orijinal sorgu dizgesi atılır ve
+<code>RewriteRule</code> hedef URI'sindeki sorgu dizgesiyle
+değiştirilir.
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsl" id="flag_qsl">QSL|qslast</a> <a title="Permanent link" href="#flag_qsl" class="permalink">¶</a></h2>
+<p>
+Öntanımlı olarak, değiştirmedeki ilk (en soldaki) soru işareti yolu
+sorgu dizgesinden ayırır. [QSL] bayrağı kullanmak, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesine iki bileşeni
+son (en sağdaki) soru işaretini kullanarak ayırmasını söyler.</p>
+
+<p>
+Bu, dosya adlarında birebir soru işaretleri bulunan dosyalara eşleme
+yaparken yararlıdır. Değiştirmede sorgu dizgesi kullanılmıyorsa, bu
+bayrakla birlikte sonuna bir soru işareti eklenebilir.</p>
+
+<p>Bu bayrak 2.4.19 ve sonraki sürümlerde mevcuttur.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_r" id="flag_r">R|redirect</a> <a title="Permanent link" href="#flag_r" class="permalink">¶</a></h2>
+<p>
+[R] bayrağı kullanmak, tarayıcıya bir HTTP yönlendirmesi
+verilmesine neden olur. Tam nitelikli bir URL belirtilmişse (yani
+<code>http://sunucuadı/</code> dahil), o konuma bir yönlendirme
+verilir. Aksi takdirde, yönlendirmeyle gönderilen URL'yi oluşturmak
+için geçerli protokol, sunucu adı ve bağlantı noktası numarası
+kullanılır.
+</p>
+
+<p>
+[R=305] sözdizimi kullanılarak geçerli herhangi bir HTTP yanıt durum
+kodu belirtilebilir; hiçbiri belirtilmezse öntanımlı olarak 302 durum
+kodu kullanılır. Belirtilen durum kodunun mutlaka bir yönlendirme
+(3xx) durum kodu olması gerekmez. Ancak durum kodu yönlendirme
+aralığının (300-399) dışındaysa değiştirme dizgesi tamamen atılır ve
+<code>L</code> kullanılmış gibi yeniden yazma durdurulur.</p>
+
+<p>Yanıt durum kodlarına ek olarak, yönlendirme durumunu sembolik
+adlarıyla da belirtebilirsiniz: <code>temp</code> (öntanımlı),
+<code>permanent</code> veya <code>seeother</code>.</p>
+
+<p>
+[R] bayrağını neredeyse her zaman [L] ile birlikte kullanmak
+istersiniz (yani [R,L] kullanın); çünkü [R] bayrağı tek başına
+URI'nin önüne <code>http://bukonak[:buport]</code> ekler ancak bunu
+kural kümesindeki bir sonraki kurala geçirir ve bu da çoğu zaman
+'İstekte Geçersiz URI' uyarılarına neden olabilir.
+</p>
+
+<p>Not: httpd yalnızca HTTP belirtiminde bulunan durum kodlarını
+destekler. Tanınmayan bir durum kodu kullanmak 500 hatasına ve hata
+günlüğü mesajına neden olacaktı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="flag_s" id="flag_s">S|skip</a> <a title="Permanent link" href="#flag_s" class="permalink">¶</a></h2>
+<p>[S] bayrağı, çalıştırmak istemediğiniz kuralları atlamak için
+kullanılır. Atlama bayrağının sözdizimi [S=<em>N</em>]'dir; burada
+<em>N</em> atlanacak kural sayısını belirtir (<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ve ondan önceki
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> yönergeleri
+eşleştiği takdirde). Bu, yeniden yazma kural kümenizde bir
+<code>goto</code> deyimi olarak düşünülebilir. Aşağıdaki örnekte,
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesini
+yalnızca istenen URI gerçek bir dosyaya karşılık gelmiyorsa
+çalıştırmak istiyoruz.</p>
+
+<pre class="prettyprint lang-config"># İstek var olmayan bir dosya için mi?
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+# Öyleyse, bu iki RewriteRule'u atla
+RewriteRule ".?" "-" [S=2]
+
+RewriteRule "(.*\.gif)" "images.php?$1"
+RewriteRule "(.*\.html)" "docs.php?$1"</pre>
+
+
+<p>Bu teknik yararlıdır; çünkü bir <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> yalnızca hemen ardından
+gelen <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> için
+geçerlidir. Bu nedenle, bir <code>RewriteCond</code>'un birkaç
+<code>RewriteRule</code> için geçerli olmasını istiyorsanız, olası
+bir teknik bu koşulları olumsuzlamak ve [Skip] bayrağıyla bir
+<code>RewriteRule</code> eklemektir. Bunu, sözde if-then-else
+yapıları oluşturmak için kullanabilirsiniz: then yan tümcesinin son
+kuralı <code>skip=N</code> olur; burada N, else yan tümcesindeki
+kural sayısıdır:</p>
+<pre class="prettyprint lang-config"># Dosya var mı?
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+# "else" kısmına gitmek istiyorsak 3 satır atlayarak bir if-then-else yapısı oluştur.
+RewriteRule ".?" "-" [S=3]
+
+# EĞER dosya varsa:
+ RewriteRule "(.*\.gif)" "images.php?$1"
+ RewriteRule "(.*\.html)" "docs.php?$1"
+ # "else" kısmını atla.
+ RewriteRule ".?" "-" [S=1]
+# DEĞİLSE...
+ RewriteRule "(.*)" "404.php?file=$1"
+# SON</pre>
+
+
+<p>Bu tür yapılandırmayı, bunun yerine <code class="directive"><If></code>, <code class="directive"><ElseIf></code> ve <code class="directive"><Else></code> yönergelerini kullanarak
+gerçekleştirmek muhtemelen daha kolaydı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="flag_t" id="flag_t">T|type</a> <a title="Permanent link" href="#flag_t" class="permalink">¶</a></h2>
+<p>Elde edilen yanıtın gönderileceği MIME türünü ayarlar. Bu,
+<code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> yönergesiyle aynı
+etkiye sahiptir.</p>
+
+<p>Örneğin, Perl kaynak kodunu belirli bir şekilde istendiğinde düz
+metin olarak sunmak için aşağıdaki tekniği kullanabilirsiniz:</p>
+
+<pre class="prettyprint lang-config"># .pl dosyalarını düz metin olarak sun
+RewriteRule "\.pl$" "-" [T=text/plain]</pre>
+
+
+<p>Veya dosya uzantısı olmayan jpeg resimleri üreten bir kameranız
+varsa, bu resimlerin dosya adlarına bakarak doğru MIME türüyle
+sunulmasını zorlayabilirsiniz:</p>
+
+<pre class="prettyprint lang-config"># Adında 'IMG' bulunan dosyalar jpg resimlerdir.
+RewriteRule "IMG" "-" [T=image/jpg]</pre>
+
+
+<p>Bunun önemsiz bir örnek olduğunu ve bunun yerine <code class="directive"><a href="../mod/core.html#filesmatch"><FilesMatch></a></code> kullanılarak
+daha iyi yapılabileceğini lütfen unutmayın. Yeniden yazmaya
+başvurmadan önce her zaman bir soruna alternatif çözümleri
+düşünün; yeniden yazma her zaman alternatiflerden daha az verimli
+bir çözüm olacaktır.</p>
+
+<p>
+Dizin başına bağlamda kullanılıyorsa, <em><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+işlemesinin tüm turu boyunca</em> değiştirme olarak yalnızca
+<code>-</code> (tire) kullanın; aksi takdirde dahili yeniden
+işleme (sonraki <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> işleme turları dahil)
+nedeniyle bu bayrakla ayarlanan MIME türü kaybolur.
+<code>L</code> bayrağı bu bağlamda <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+işlemesinin <em>geçerli</em> turunu sonlandırmak için yararlı
+olabilir.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unsafe_allow_3f" id="flag_unsafe_allow_3f">UnsafeAllow3F</a> <a title="Permanent link" href="#flag_unsafe_allow_3f" class="permalink">¶</a></h2>
+ <p>Yazılmakta olan HTTP isteğinde kodlanmış bir soru işareti
+ '%3f' varsa ve yeniden yazılmış sonucun değiştirmesinde '?' varsa,
+ yeniden yazmanın devam etmesine izin vermek için bu bayrağın
+ ayarlanması gereklidir. Bu, kodlanmış soru işaretinin yakalanması
+ ve yeniden değiştirilmesinden yararlanan kötü niyetli bir URL'ye
+ karşı koruma sağlar.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unsafe_prefix_stat" id="flag_unsafe_prefix_stat">UnsafePrefixStat</a> <a title="Permanent link" href="#flag_unsafe_prefix_stat" class="permalink">¶</a></h2>
+ <p>Sunucu kapsamlı değiştirmeler bir değişken veya geri başvuru
+ ile başlayıp bir dosya sistemi yoluna çözümlendiğinde bu bayrağın
+ ayarlanması gereklidir. Bu değiştirmeler belge kökü ile
+ öneklenmez. Bu, genişletilmiş değiştirmenin beklenmeyen bir dosya
+ sistemi konumuna eşlenmesine neden olan kötü niyetli bir URL'ye
+ karşı koruma sağlar.</p>
+
+ <p>Available in Apache HTTP Server 2.5.1 and later.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unc" id="flag_unc">UNC</a> <a title="Permanent link" href="#flag_unc" class="permalink">¶</a></h2>
+ <p>Bu bayrağın ayarlanması, Windows UNC yollarında kullanıldığı
+ gibi birden fazla baştaki eğik çizginin birleştirilmesini engeller.
+ Kural değiştirmesi birden fazla birebir eğik çizgi ile
+ başladığında bayrak gerekli değildir.</p>
+
+ <p>Available in Apache HTTP Server 2.5.1 and later.</p>
+</div></div>
+<div class="bottomlang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/flags.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.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="http://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></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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="zh-cn" xml:lang="zh-cn"><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>RewriteRule 标志 - Apache HTTP 服务器 版本 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP 服务器版本 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP 服务器</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../">版本 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>RewriteRule 标志</h1>
+<div class="toplang">
+<p><span>可用语言: </span><a href="../de/rewrite/flags.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.html" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+<p>本文档讨论了 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+指令可用的标志,并提供了详细的说明和示例。</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">介绍</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_b">B(转义反向引用)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bnp">BNP|backrefnoplus(不将空格转义为 +)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bctls">BCTLS</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bne">BNE</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_c">C|chain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_co">CO|cookie</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_dpi">DPI|discardpath</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_e">E|env</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_end">END</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_f">F|forbidden</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_g">G|gone</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_h">H|handler</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_l">L|last</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_n">N|next</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_nc">NC|nocase</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ne">NE|noescape</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ns">NS|nosubreq</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_p">P|proxy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_pt">PT|passthrough</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsa">QSA|qsappend</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsd">QSD|qsdiscard</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsl">QSL|qslast</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_r">R|redirect</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_s">S|skip</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_t">T|type</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unsafe_allow_3f">UnsafeAllow3F</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unsafe_prefix_stat">UnsafePrefixStat</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_unc">UNC</a></li>
+</ul><h3>参见</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">模块文档</a></li><li><a href="intro.html">mod_rewrite 简介</a></li><li><a href="remapping.html">重定向和重映射</a></li><li><a href="access.html">访问控制</a></li><li><a href="vhosts.html">虚拟主机</a></li><li><a href="proxy.html">代理</a></li><li><a href="rewritemap.html">使用 RewriteMap</a></li><li><a href="advanced.html">高级技术</a></li><li><a href="avoid.html">何时不使用 mod_rewrite</a></li><li><a href="#comments_section">评论</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="introduction" id="introduction">介绍</a> <a title="Permanent link" href="#introduction" class="permalink">¶</a></h2>
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+的行为可以通过一个或多个标志来修改。标志包含在规则末尾的方括号中,
+多个标志之间用逗号分隔。</p>
+<pre class="prettyprint lang-config">RewriteRule pattern target [Flag1,Flag2,Flag3]</pre>
+
+
+<p>每个标志(除少数例外)都有一个缩写形式,如 <code>CO</code>,
+以及一个较长的形式,如 <code>cookie</code>。虽然最常用的是缩写形式,
+但建议你熟悉长形式,以便记住每个标志的作用。
+某些标志接受一个或多个参数。标志不区分大小写。</p>
+
+<p>修改与请求关联的元数据的标志(T=、H=、E=)在目录级和 htaccess
+上下文中,当在同一轮重写处理中执行了替换(非 '-')时不会生效。
+</p>
+
+<p>下面逐一介绍每个可用的标志,并给出使用示例。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_b" id="flag_b">B(转义反向引用)</a> <a title="Permanent link" href="#flag_b" class="permalink">¶</a></h2>
+<p>[B] 标志指示 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+在应用转换之前转义非字母数字字符。</p>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 在映射 URL 之前必须对其进行反转义,
+因此反向引用在应用时是未转义的。使用 B 标志,反向引用中的非字母数字字符将被转义。
+例如,考虑以下规则:</p>
+
+<p>有关类似的服务器变量转义,请参阅
+ "escape" <a href="#mapfunc">映射函数</a></p>
+
+
+<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1"</pre>
+
+
+<p>给定搜索词 'x & y/z',浏览器会将其编码为
+'x%20%26%20y%2Fz',发出请求 'search/x%20%26%20y%2Fz'。不使用 B
+标志时,此重写规则将映射为 'search.php?term=x & y/z',
+这不是一个有效的 URL,因此会被编码为
+<code>search.php?term=x%20&y%2Fz=</code>,这不是预期的结果。</p>
+
+<p>在同一规则上设置 B 标志后,参数会在传递到输出 URL 之前重新编码,
+从而正确映射到
+<code>/search.php?term=x%20%26%20y%2Fz</code>。</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1" [B,PT]</pre>
+
+
+<p>请注意,你可能还需要将 <code class="directive"><a href="../mod/core.html#allowencodedslashes">AllowEncodedSlashes</a></code> 设置为 <code>On</code>
+才能使此特定示例正常工作,因为 httpd 不允许 URL 中包含编码的斜杠,
+如果发现编码斜杠则返回 404。</p>
+
+<p>在代理场景中,这种转义尤其必要,
+因为后端如果收到未转义的 URL 可能会出错。</p>
+
+<p>此标志的替代方案是使用 <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> 对 %{THE_REQUEST} 进行捕获,
+这将以编码形式捕获字符串。</p>
+
+<p>在 2.4.26 及更高版本中,你可以通过列出字符来限制反向引用中要转义的特定字符:
+<code>[B=#?;]</code>。注意:空格字符可以包含在要转义的字符列表中,
+但你必须引用 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+的整个第三个参数,并且空格不能是列表中的最后一个字符。</p>
+
+<pre class="prettyprint lang-config"># 转义空格和问号。最后一个参数周围的引号
+# 在包含空格时是必需的。
+RewriteRule "^search/(.*)$" "/search.php?term=$1" "[B= ?]"</pre>
+
+
+<p>要限制以这种方式转义的字符,请参阅 <a href="#flag_bne">#flag_bne</a>
+ 和 <a href="#flag_bctls">#flag_bctls</a></p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bnp" id="flag_bnp">BNP|backrefnoplus(不将空格转义为 +)</a> <a title="Permanent link" href="#flag_bnp" class="permalink">¶</a></h2>
+<p>[BNP] 标志指示 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 将反向引用中的空格字符
+转义为 %20 而不是 '+'。当反向引用将用于路径部分而不是查询字符串时很有用。</p>
+
+<pre class="prettyprint lang-config"># 在路径中将空格转义为 %20,而不是表单提交中通过
+# 查询字符串使用的 +
+RewriteRule "^search/(.*)$" "/search.php/$1" "[B,BNP]"</pre>
+
+
+
+<p>此标志在 2.4.26 及更高版本中可用。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bctls" id="flag_bctls">BCTLS</a> <a title="Permanent link" href="#flag_bctls" class="permalink">¶</a></h2>
+<p>[BCTLS] 标志类似于 [B] 标志,但只转义控制字符和空格字符。
+这与未编码复制到查询字符串时被拒绝的字符集相同。
+</p>
+
+<pre class="prettyprint lang-config"># 转义控制字符和空格
+RewriteRule "^search/(.*)$" "/search.php/$1" "[BCTLS]"</pre>
+
+
+<p>此标志在 2.5.1 及更高版本中可用。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_bne" id="flag_bne">BNE</a> <a title="Permanent link" href="#flag_bne" class="permalink">¶</a></h2>
+<p>[BNE=...] 中的字符列表被视为 [B] 或 [BCTLS] 标志的排除项。
+列出的字符将不会被转义。
+</p>
+
+<pre class="prettyprint lang-config"># 转义默认字符,但保留 /
+RewriteRule "^search/(.*)$" "/search.php?term=$1" "[B,BNE=/]"</pre>
+
+
+<p>此标志在 2.5.1 及更高版本中可用。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_c" id="flag_c">C|chain</a> <a title="Permanent link" href="#flag_c" class="permalink">¶</a></h2>
+<p>[C] 或 [chain] 标志表示该 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+与下一条规则链接在一起。也就是说,如果该规则匹配,则照常处理,
+控制继续传递到下一条规则。但如果不匹配,
+则跳过下一条规则以及所有链接在一起的其他规则。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_co" id="flag_co">CO|cookie</a> <a title="Permanent link" href="#flag_co" class="permalink">¶</a></h2>
+<p>[CO] 或 [cookie] 标志允许你在特定的
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+匹配时设置 cookie。参数由三个必需字段和五个可选字段组成。</p>
+
+<p>该标志的完整语法(包括所有属性)如下:</p>
+
+<div class="example"><p><code>
+[CO=NAME:VALUE:DOMAIN:lifetime:path:secure:httponly:samesite]
+</code></p></div>
+
+<p>如果任何 cookie 字段中需要使用字面量 ':' 字符,
+可以使用替代语法。要选择替代语法,cookie 的 "Name"
+前应加 ';' 字符,字段分隔符也应指定为 ';'。</p>
+
+<div class="example"><p><code>
+[CO=;NAME;VALUE:MOREVALUE;DOMAIN;lifetime;path;secure;httponly;samesite]
+</code></p></div>
+
+<p>你必须声明 cookie 的名称、值和域才能设置 cookie。</p>
+
+<dl>
+<dt>Domain</dt>
+<dd>你希望 cookie 有效的域。这可以是主机名,
+如 <code>www.example.com</code>,也可以是域名,
+如 <code>.example.com</code>。它必须至少包含两个由点分隔的部分。
+也就是说,不能仅为 <code>.com</code> 或 <code>.net</code>。
+cookie 安全模型禁止这类 cookie。</dd>
+</dl>
+
+<p>你还可以选择设置以下值:</p>
+
+<dl>
+<dt>Lifetime</dt>
+<dd>cookie 的持续时间,以分钟为单位。</dd>
+<dd>值为 0 表示 cookie 仅在当前浏览器会话期间持续存在。
+如果未指定,这是默认值。</dd>
+<dd>负值会导致浏览器中的 cookie 被取消设置。</dd>
+
+<dt>Path</dt>
+<dd>当前网站上 cookie 有效的路径,
+如 <code>/customers/</code> 或 <code>/files/download/</code>。</dd>
+<dd>默认设置为 <code>/</code>——即整个网站。</dd>
+
+<dt>Secure</dt>
+<dd>如果设置为 <code>secure</code>、<code>true</code> 或 <code>1</code>,
+则 cookie 只允许通过安全(https)连接传输。</dd>
+
+<dt>httponly</dt>
+<dd>如果设置为 <code>HttpOnly</code>、<code>true</code> 或
+<code>1</code>,cookie 将设置 <code>HttpOnly</code> 标记,
+这意味着在支持此功能的浏览器上,JavaScript 代码无法访问该 cookie。</dd>
+
+<dt>samesite</dt>
+<dd>如果设置为 <code>false</code> 或 <code>0</code> 以外的任何值,
+<code>SameSite</code> 属性将被设置为指定的值。
+典型值为 <code>None</code>、<code>Lax</code> 和 <code>Strict</code>。
+在 2.5.1 及更高版本中可用。</dd>
+</dl>
+
+
+<p>请看以下示例:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine On
+RewriteRule "^/index\.html" "-" [CO=frontdoor:yes:.example.com:1440:/]</pre>
+
+
+<p>在此示例中,规则不会重写请求。"-" 重写目标告诉
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 不做修改地传递请求。
+相反,它设置了一个名为 'frontdoor'、值为 'yes' 的 cookie。
+该 cookie 对 <code>.example.com</code> 域中的所有主机有效。
+它被设置为在 1440 分钟(24 小时)后过期,并对所有 URI 返回。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_dpi" id="flag_dpi">DPI|discardpath</a> <a title="Permanent link" href="#flag_dpi" class="permalink">¶</a></h2>
+<p>DPI 标志使重写后 URI 的 PATH_INFO 部分被丢弃。</p>
+<p>此标志在 2.2.12 及更高版本中可用。</p>
+<p>在目录级上下文中,每个 <code class="directive">RewriteRule</code>
+比较的 URI 是 URI 当前值和 PATH_INFO 的拼接。</p>
+
+<p>当前 URI 可以是客户端最初请求的 URI、
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 前一轮处理的结果,
+或当前轮 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 处理中先前规则的结果。</p>
+
+<p>相比之下,在每条规则之前附加到 URI 的 PATH_INFO
+仅反映本轮 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 处理之前的 PATH_INFO 值。
+因此,如果 URI 的大部分内容在多个 <code class="directive">RewriteRule</code>
+指令中被匹配并复制到替换中,而不考虑 URI 的哪些部分来自当前的
+PATH_INFO,则最终 URI 可能会附加多个 PATH_INFO 副本。</p>
+
+<p>在任何替换中使用此标志,如果从此请求先前映射到文件系统所产生的
+PATH_INFO 不需要的话。此标志会永久忘记本轮
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 处理开始之前建立的 PATH_INFO。
+在当前轮 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 处理完成之前,PATH_INFO
+不会被重新计算。此轮处理中的后续规则将只看到替换的直接结果,
+而不会附加任何 PATH_INFO。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_e" id="flag_e">E|env</a> <a title="Permanent link" href="#flag_e" class="permalink">¶</a></h2>
+<p>使用 [E] 或 [env] 标志,你可以设置环境变量的值。
+请注意,某些环境变量可能在规则运行后被设置,
+从而取消你所设置的值。有关环境变量工作方式的更多详细信息,
+请参阅<a href="../env.html">环境变量文档</a>。</p>
+
+<p>此标志的完整语法为:</p>
+
+<pre class="prettyprint lang-config">[E=VAR:VAL]
+[E=!VAR]</pre>
+
+
+<p><code>VAL</code> 可以包含会被展开的反向引用(<code>$N</code> 或
+<code>%N</code>)。</p>
+
+<p>使用缩写形式</p>
+
+<div class="example"><p><code>
+[E=VAR]
+</code></p></div>
+
+<p>你可以将名为 <code>VAR</code> 的环境变量设置为空值。</p>
+
+<p>使用以下形式</p>
+
+<div class="example"><p><code>
+[E=!VAR]
+</code></p></div>
+
+<p>可以取消设置先前设置的名为 <code>VAR</code> 的环境变量。</p>
+
+<p>环境变量随后可以在多种上下文中使用,
+包括 CGI 程序、其他 RewriteRule 指令或 CustomLog 指令。</p>
+
+<p>以下示例在请求的 URI 是图像文件时将名为 'image' 的环境变量设置为 '1'。
+然后,该环境变量用于将这些请求从访问日志中排除。</p>
+
+<pre class="prettyprint lang-config">RewriteRule "\.(png|gif|jpg)$" "-" [E=image:1]
+CustomLog "logs/access_log" combined env=!image</pre>
+
+
+<p>请注意,使用 <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>
+也可以达到相同的效果。此处提供此技术作为示例,而非建议。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_end" id="flag_end">END</a> <a title="Permanent link" href="#flag_end" class="permalink">¶</a></h2>
+<p>使用 [END] 标志不仅会终止当前轮的重写处理(如 [L]),
+还会阻止在目录级(htaccess)上下文中发生任何后续的重写处理。</p>
+
+<p>这不适用于由外部重定向产生的新请求。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_f" id="flag_f">F|forbidden</a> <a title="Permanent link" href="#flag_f" class="permalink">¶</a></h2>
+<p>使用 [F] 标志会导致服务器向客户端返回 403 Forbidden 状态码。
+虽然使用 <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code>
+指令也可以实现相同的行为,但这种方式在分配 Forbidden 状态时更加灵活。</p>
+
+<p>以下规则将禁止从你的服务器下载 <code>.exe</code> 文件。</p>
+
+<pre class="prettyprint lang-config">RewriteRule "\.exe" "-" [F]</pre>
+
+
+<p>此示例使用 "-" 语法作为重写目标,这意味着请求的 URI 不会被修改。
+如果你打算禁止请求,就没有理由将其重写到另一个 URI。</p>
+
+<p>使用 [F] 时,会隐含 [L]——也就是说,响应会立即返回,
+不会再评估后续规则。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_g" id="flag_g">G|gone</a> <a title="Permanent link" href="#flag_g" class="permalink">¶</a></h2>
+<p>[G] 标志强制服务器在响应中返回 410 Gone 状态。
+这表示资源曾经可用,但现在已不再可用。</p>
+
+<p>与 [F] 标志一样,使用 [G] 标志时通常使用 "-" 语法作为重写目标:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "oldproduct" "-" [G,NC]</pre>
+
+
+<p>使用 [G] 时,会隐含 [L]——也就是说,响应会立即返回,
+不会再评估后续规则。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_h" id="flag_h">H|handler</a> <a title="Permanent link" href="#flag_h" class="permalink">¶</a></h2>
+<p>强制使用指定的处理器来处理结果请求。例如,
+可以使用此标志强制所有没有文件扩展名的文件由 php 处理器解析:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "!\." "-" [H=application/x-httpd-php]</pre>
+
+
+<p>
+上面的正则表达式——<code>!\.</code>——将匹配任何不包含字面量
+<code>.</code> 字符的请求。
+</p>
+
+<p>这也可以用于根据某些条件强制使用处理器。例如,
+以下代码片段在服务器级上下文中使用时,
+允许以 <code>.phps</code> 扩展名请求的 <code>.php</code>
+文件由 <code>mod_php</code> <em>显示</em>其源代码:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^(/source/.+\.php)s$" "$1" [H=application/x-httpd-php-source]</pre>
+
+
+<p>上面的正则表达式——<code>^(/source/.+\.php)s$</code>——将匹配任何以
+<code>/source/</code> 开头,后跟 1 个或多个字符,
+再后跟 <code>.phps</code> 的请求。反向引用
+$1 引用正则表达式括号内捕获的匹配内容。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_l" id="flag_l">L|last</a> <a title="Permanent link" href="#flag_l" class="permalink">¶</a></h2>
+<p>[L] 标志使 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+停止处理规则集。在大多数上下文中,这意味着如果规则匹配,
+将不再处理后续规则。这对应于 Perl 中的 <code>last</code>
+命令或 C 中的 <code>break</code> 命令。使用此标志表示当前规则应立即应用,
+而不考虑后续规则。</p>
+
+<p>如果你在 <code>.htaccess</code> 文件或
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+配置段中使用 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>,
+理解规则的处理方式非常重要。简化来说,一旦规则处理完毕,
+重写后的请求会被交回 URL 解析引擎进行后续处理。在处理重写后的请求时,
+可能会再次遇到 <code>.htaccess</code> 文件或
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> 配置段,
+从而规则集可能会从头开始重新运行。最常见的情况是某条规则导致了重定向——
+无论是内部还是外部重定向——使请求处理重新开始。</p>
+
+<p>因此,如果你在这些上下文中使用
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+指令,采取明确措施避免规则循环非常重要,
+不要仅依赖 [L] 标志来终止一系列规则的执行,如下所示。</p>
+
+<p>替代标志 [END] 可用于终止当前轮的重写处理,
+并阻止在目录级(htaccess)上下文中发生任何后续的重写处理。
+这不适用于由外部重定向产生的新请求。</p>
+
+<p>此处给出的示例将把所有请求重写到 <code>index.php</code>,
+将原始请求作为查询字符串参数传递给 <code>index.php</code>,
+但 <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+确保如果请求已经是 <code>index.php</code>,
+则 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 将被跳过。</p>
+
+<pre class="prettyprint lang-config">RewriteBase "/"
+RewriteCond "%{REQUEST_URI}" !=/index.php
+RewriteRule "^(.*)" "/index.php?req=$1" [L,PT]</pre>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_n" id="flag_n">N|next</a> <a title="Permanent link" href="#flag_n" class="permalink">¶</a></h2>
+<p>
+[N] 标志使规则集从头开始重新运行,使用到目前为止的规则集结果作为起点。
+请极其谨慎地使用,因为它可能导致循环。
+</p>
+<p>
+例如,如果你想在请求中重复替换某个字符串或字母,可以使用 [Next] 标志。
+下面的示例将请求中所有的 A 替换为 B,并持续执行直到没有更多的 A 需要替换。
+</p>
+<pre class="prettyprint lang-config">RewriteRule "(.*)A(.*)" "$1B$2" [N]</pre>
+
+<p>你可以将此看作 <code>while</code> 循环:当此模式仍然匹配时
+(即 URI 仍然包含 <code>A</code>),执行此替换
+(即将 <code>A</code> 替换为 <code>B</code>)。</p>
+
+<p>在 2.5.0 及更高版本中,此模块在 10,000 次迭代后返回错误,
+以防止意外循环。可以通过向 N 标志添加参数来指定替代的最大迭代次数。</p>
+<pre class="prettyprint lang-config"># 每次循环替换 1 个字符
+RewriteRule "(.+)[><;]$" "$1" [N=32000]
+# ……或者,10 次循环后放弃
+RewriteRule "(.+)[><;]$" "$1" [N=10]</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_nc" id="flag_nc">NC|nocase</a> <a title="Permanent link" href="#flag_nc" class="permalink">¶</a></h2>
+<p>使用 [NC] 标志使 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+以不区分大小写的方式进行匹配。也就是说,
+匹配的 URI 中字母是大写还是小写都无所谓。</p>
+
+<p>在下面的示例中,任何图像文件请求将被代理到你的专用图像服务器。
+匹配不区分大小写,因此 <code>.jpg</code> 和 <code>.JPG</code>
+文件都可以接受。</p>
+
+<pre class="prettyprint lang-config">RewriteRule "(.*\.(jpg|gif|png))$" "http://images.example.com$1" [P,NC]</pre>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ne" id="flag_ne">NE|noescape</a> <a title="Permanent link" href="#flag_ne" class="permalink">¶</a></h2>
+<p>默认情况下,当 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+导致外部重定向时,输出中不在以下安全集中的字符将被转换为其十六进制编码
+(百分比编码)等价物:</p>
+
+<ul>
+ <li>字母数字字符:<code>A-Z</code>、<code>a-z</code>、
+ <code>0-9</code></li>
+ <li>特殊字符:<code>$-_.+!*'(),:;@&=/~</code></li>
+</ul>
+
+<p>例如,<code>#</code> 将被转换为 <code>%23</code>,
+<code>?</code> 转换为 <code>%3F</code>。<code>%</code>
+字符也会被转义(为 <code>%25</code>),这意味着替换中已有的百分比编码
+将被双重编码。</p>
+
+<p>使用 [NE] 标志可防止此转义,允许
+<code>#</code> 和 <code>?</code> 等字符不经修改地传递到重定向 URL。</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/anchor/(.+)" "/bigpage.html#$1" [NE,R]</pre>
+
+
+<p>
+上面的示例将 <code>/anchor/xyz</code> 重定向到
+<code>/bigpage.html#xyz</code>。省略 [NE] 将导致 #
+被转换为其十六进制等价物 <code>%23</code>,
+从而导致 404 Not Found 错误。
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ns" id="flag_ns">NS|nosubreq</a> <a title="Permanent link" href="#flag_ns" class="permalink">¶</a></h2>
+<p>使用 [NS] 标志可防止规则被用于子请求。例如,
+使用 SSI(服务器端包含)包含的页面是子请求,
+你可能希望避免在这些子请求上发生重写。此外,
+当 <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>
+尝试查找可能的目录默认文件(如 <code>index.html</code> 文件)的信息时,
+这是一个内部子请求,你通常希望避免在此类子请求上进行重写。
+在子请求上,应用完整的规则集并不总是有用的,甚至可能导致错误。
+使用此标志排除有问题的规则。</p>
+
+<p>要决定是否使用此规则:如果你使用 CGI 脚本为 URL 添加前缀,
+强制它们由 CGI 脚本处理,那么在子请求上你很可能会遇到问题
+(或显著的性能开销)。在这些情况下,请使用此标志。</p>
+
+<p>
+作为 HTML 页面一部分加载的图像、JavaScript 文件或 CSS 文件不是子请求——
+浏览器将它们作为单独的 HTTP 请求发出。
+</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_p" id="flag_p">P|proxy</a> <a title="Permanent link" href="#flag_p" class="permalink">¶</a></h2>
+<p>使用 [P] 标志使请求由 <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>
+处理,并通过代理请求进行处理。例如,
+如果你想让所有图像请求由后端图像服务器处理,可以这样做:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "/(.*)\.(jpg|gif|png)$" "http://images.example.com/$1.$2" [P]</pre>
+
+
+<p>使用 [P] 标志隐含 [L]——也就是说,请求会立即通过代理推送,
+后续规则将不被考虑。</p>
+
+<p>
+你必须确保替换字符串是有效的 URI
+(通常以 <code>http://</code><em>hostname</em> 开头),
+可以由 <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> 处理。如果不是,你将从代理模块收到错误。
+使用此标志可以实现比 <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>
+指令更强大的远程内容到本地服务器命名空间的映射。</p>
+
+<div class="warning">
+<h3>安全警告</h3>
+<p>构造规则的目标 URL 时要小心,考虑允许客户端影响你的服务器将作为代理的
+URL 集的安全影响。确保 URL 的方案和主机名部分是固定的,
+或者不允许客户端过度影响。</p>
+</div>
+
+<div class="warning">
+<h3>性能警告</h3>
+<p>使用此标志会触发 <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> 的使用,
+在这种情况下使用默认 worker,不处理持久连接,
+因为默认 worker 不处理连接池/重用。</p>
+<p>要使用持久连接,你需要至少为目标 URL 的方案和主机部分设置一个
+<code class="directive"><a href="../mod/mod_proxy.html#proxy">Proxy</a></code> 块,
+其中包含一个 <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code>
+指令,例如设置超时时间。</p>
+<p>如果使用 <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> 或
+<code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code>
+进行设置,将自动使用持久连接。</p>
+</div>
+
+<p>注意:必须启用 <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> 才能使用此标志。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_pt" id="flag_pt">PT|passthrough</a> <a title="Permanent link" href="#flag_pt" class="permalink">¶</a></h2>
+
+<p>
+RewriteRule 中的目标(或替换字符串)默认被假定为文件路径。
+使用 [PT] 标志使其被视为 URI。也就是说,
+使用 [PT] 标志会使 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 的结果
+被传回到 URL 映射中,从而基于位置的映射,如
+<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>、
+<code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code> 或
+<code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>
+等,有机会生效。
+</p>
+
+<p>
+例如,如果你有一个 <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>
+指向 /icons,并且有一个 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 指向那里,
+你应该使用 [PT] 标志以确保
+<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> 被正确评估。
+</p>
+
+<pre class="prettyprint lang-config">Alias "/icons" "/usr/local/apache/icons"
+RewriteRule "/pics/(.+)\.jpg$" "/icons/$1.gif" [PT]</pre>
+
+
+<p>
+在这种情况下省略 [PT] 标志会导致 Alias 被忽略,
+从而返回"文件未找到"错误。
+</p>
+
+<p><code>PT</code> 标志隐含 <code>L</code> 标志:
+重写将停止以便将请求传递给下一个处理阶段。</p>
+
+<p>请注意,<code>PT</code> 标志在目录级上下文中是隐含的,
+例如 <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+配置段或 <code>.htaccess</code> 文件中。规避此行为的唯一方法是重写为
+<code>-</code>。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsa" id="flag_qsa">QSA|qsappend</a> <a title="Permanent link" href="#flag_qsa" class="permalink">¶</a></h2>
+<p>
+当替换 URI 包含查询字符串时,
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+的默认行为是丢弃现有的查询字符串,并用新生成的替换。
+使用 [QSA] 标志可以将查询字符串合并。
+</p>
+
+<p>请看以下规则:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA]</pre>
+
+
+<p>使用 [QSA] 标志,对 <code>/pages/123?one=two</code> 的请求将被映射到
+<code>/page.php?page=123&one=two</code>。不使用 [QSA]
+标志时,同一请求将被映射到
+<code>/page.php?page=123</code>——也就是说,现有的查询字符串将被丢弃。
+</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsd" id="flag_qsd">QSD|qsdiscard</a> <a title="Permanent link" href="#flag_qsd" class="permalink">¶</a></h2>
+<p>
+当请求的 URI 包含查询字符串而目标 URI 不包含时,
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+的默认行为是将该查询字符串复制到目标 URI。
+使用 [QSD] 标志可以丢弃查询字符串。
+</p>
+
+<p>此标志在 2.4.0 及更高版本中可用。</p>
+
+<p>
+同时使用 [QSD] 和 [QSA] 将导致 [QSD] 优先。
+</p>
+
+<p>
+如果目标 URI 有查询字符串,将执行默认行为——
+也就是说,原始查询字符串将被丢弃并替换为 <code>RewriteRule</code>
+目标 URI 中的查询字符串。
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsl" id="flag_qsl">QSL|qslast</a> <a title="Permanent link" href="#flag_qsl" class="permalink">¶</a></h2>
+<p>
+默认情况下,替换中第一个(最左边的)问号将路径与查询字符串分开。
+使用 [QSL] 标志指示
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+改为使用最后一个(最右边的)问号来分隔两个组件。</p>
+
+<p>
+当映射到文件名中包含字面量问号的文件时,这很有用。
+如果替换中未使用查询字符串,可以结合此标志在替换后附加一个问号。</p>
+
+<p>此标志在 2.4.19 及更高版本中可用。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_r" id="flag_r">R|redirect</a> <a title="Permanent link" href="#flag_r" class="permalink">¶</a></h2>
+<p>
+使用 [R] 标志会导致向浏览器发出 HTTP 重定向。
+如果指定了完全限定的 URL(即包含 <code>http://servername/</code>),
+则将重定向到该位置。否则,将使用当前协议、服务器名称和端口号
+来生成与重定向一起发送的 URL。
+</p>
+
+<p>
+可以使用 [R=305] 语法指定<em>任何</em>有效的 HTTP 响应状态码,
+如果未指定则默认使用 302 状态码。指定的状态码不一定必须是重定向(3xx)状态码。
+但是,如果状态码超出重定向范围(300-399),替换字符串将被完全丢弃,
+重写将像使用了 <code>L</code> 一样停止。</p>
+
+<p>除了响应状态码外,你还可以使用它们的符号名称指定重定向状态:
+<code>temp</code>(默认)、<code>permanent</code> 或 <code>seeother</code>。</p>
+
+<p>
+你几乎总是希望将 [R] 与 [L] 结合使用(即使用 [R,L]),
+因为 [R] 标志本身只是在 URI 前面添加
+<code>http://thishost[:thisport]</code>,然后将其传递给规则集中的下一条规则,
+这通常会导致"请求中的 URI 无效"警告。
+</p>
+
+<p>注意:httpd 仅支持 HTTP 规范中包含的状态码。
+使用无法识别的状态码将导致 500 错误和错误日志消息。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_s" id="flag_s">S|skip</a> <a title="Permanent link" href="#flag_s" class="permalink">¶</a></h2>
+<p>[S] 标志用于跳过你不想运行的规则。
+跳过标志的语法为 [S=<em>N</em>],其中 <em>N</em>
+表示要跳过的规则数(前提是
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 及其前面的
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+指令匹配)。这可以看作是重写规则集中的 <code>goto</code> 语句。
+在以下示例中,我们只想在请求的 URI
+不对应实际文件时才运行 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>。</p>
+
+<pre class="prettyprint lang-config"># Is the request for a non-existent file?
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+# If so, skip these two RewriteRules
+RewriteRule ".?" "-" [S=2]
+
+RewriteRule "(.*\.gif)" "images.php?$1"
+RewriteRule "(.*\.html)" "docs.php?$1"</pre>
+
+
+<p>此技术很有用,因为 <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> 只应用于紧随其后的
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>。
+因此,如果你想让一个 <code>RewriteCond</code> 应用于多个
+<code>RewriteRule</code>,一种可能的技术是否定这些条件并添加一个带有
+[Skip] 标志的 <code>RewriteRule</code>。你可以用此构造伪
+if-then-else 结构:then 子句的最后一条规则变为
+<code>skip=N</code>,其中 N 是 else 子句中的规则数:</p>
+<pre class="prettyprint lang-config"># Does the file exist?
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+# Create an if-then-else construct by skipping 3 lines if we meant to go to the "else" stanza.
+RewriteRule ".?" "-" [S=3]
+
+# IF the file exists, then:
+ RewriteRule "(.*\.gif)" "images.php?$1"
+ RewriteRule "(.*\.html)" "docs.php?$1"
+ # Skip past the "else" stanza.
+ RewriteRule ".?" "-" [S=1]
+# ELSE...
+ RewriteRule "(.*)" "404.php?file=$1"
+# END</pre>
+
+
+<p>使用 <code class="directive"><If></code>、<code class="directive"><ElseIf></code> 和 <code class="directive"><Else></code> 指令可能更容易实现这种配置。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_t" id="flag_t">T|type</a> <a title="Permanent link" href="#flag_t" class="permalink">¶</a></h2>
+<p>设置响应将以何种 MIME 类型发送。这与 <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> 指令的效果相同。</p>
+
+<p>例如,你可以使用以下技术在以特定方式请求时将 Perl 源代码作为纯文本提供:</p>
+
+<pre class="prettyprint lang-config"># 将 .pl 文件作为纯文本提供
+RewriteRule "\.pl$" "-" [T=text/plain]</pre>
+
+
+<p>或者,如果你有一台相机生成没有文件扩展名的 jpeg 图像,
+你可以根据文件名强制使用正确的 MIME 类型来提供这些图像:</p>
+
+<pre class="prettyprint lang-config"># 文件名中包含 'IMG' 的是 jpg 图像。
+RewriteRule "IMG" "-" [T=image/jpg]</pre>
+
+
+<p>请注意,这是一个简单的示例,使用
+<code class="directive"><a href="../mod/core.html#filesmatch"><FilesMatch></a></code>
+可以更好地完成。在使用重写之前,始终考虑问题的替代解决方案,
+因为重写总是比替代方案效率更低。</p>
+
+<p>
+如果在目录级上下文中使用,在<em>整轮 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+处理过程中</em>仅使用 <code>-</code>(破折号)作为替换,
+否则使用此标志设置的 MIME 类型将由于内部重新处理
+(包括后续轮次的 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 处理)而丢失。
+<code>L</code> 标志在此上下文中可用于结束<em>当前</em>轮的
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 处理。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unsafe_allow_3f" id="flag_unsafe_allow_3f">UnsafeAllow3F</a> <a title="Permanent link" href="#flag_unsafe_allow_3f" class="permalink">¶</a></h2>
+ <p>如果被重写的 HTTP 请求包含编码的问号 '%3f',
+ 且重写结果的替换中包含 '?',则需要设置此标志才能允许重写继续。
+ 这可以防止恶意 URL 利用捕获和重新替换编码的问号。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unsafe_prefix_stat" id="flag_unsafe_prefix_stat">UnsafePrefixStat</a> <a title="Permanent link" href="#flag_unsafe_prefix_stat" class="permalink">¶</a></h2>
+ <p>当服务器范围内的替换以变量或反向引用开头并解析为文件系统路径时,
+ 需要设置此标志。这些替换不会以文档根目录为前缀。
+ 这可以防止恶意 URL 导致展开的替换映射到意外的文件系统位置。</p>
+
+ <p>Available in Apache HTTP Server 2.5.1 and later.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_unc" id="flag_unc">UNC</a> <a title="Permanent link" href="#flag_unc" class="permalink">¶</a></h2>
+ <p>设置此标志可防止合并多个前导斜杠,
+ 如 Windows UNC 路径中使用的那样。当规则替换以多个字面量斜杠开头时,
+ 不需要此标志。</p>
+
+ <p>Available in Apache HTTP Server 2.5.1 and later.</p>
+</div></div>
+<div class="bottomlang">
+<p><span>可用语言: </span><a href="../de/rewrite/flags.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/flags.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/flags.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/flags.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/flags.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/flags.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/flags.html" title="Simplified Chinese"> zh-cn </a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2026 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许可证.</p>
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
# GENERATED FROM XML -- DO NOT EDIT
+URI: htaccess.html.de
+Content-Language: de
+Content-type: text/html; charset=ISO-8859-1
+
URI: htaccess.html.en.utf8
Content-Language: en
Content-type: text/html; charset=UTF-8
+URI: htaccess.html.es.utf8
+Content-Language: es
+Content-type: text/html; charset=UTF-8
+
URI: htaccess.html.fr.utf8
Content-Language: fr
Content-type: text/html; charset=UTF-8
+
+URI: htaccess.html.ja.utf8
+Content-Language: ja
+Content-type: text/html; charset=UTF-8
+
+URI: htaccess.html.ko.euc-kr
+Content-Language: ko
+Content-type: text/html; charset=EUC-KR
+
+URI: htaccess.html.tr.utf8
+Content-Language: tr
+Content-type: text/html; charset=UTF-8
+
+URI: htaccess.html.zh-cn.utf8
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!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="de" xml:lang="de"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_rewrite und .htaccess-Dateien - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite und .htaccess-Dateien</h1>
+<div class="toplang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/htaccess.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>Dieses Dokument ergänzt die <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">Referenzdokumentation</a>. Es beschreibt,
+wie sich die Regeln ändern, wenn Sie <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> in
+.htaccess-Dateien verwenden, und wie Sie mit diesen Änderungen umgehen.</p>
+
+</div>
+<div id="quickview"><h3>Siehe auch</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Moduldokumentation</a></li><li><a href="intro.html">Einführung in mod_rewrite</a></li><li><a href="remapping.html">Umleitung und Neuzuordnung</a></li><li><a href="vhosts.html">Virtuelle Hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Verwendung von RewriteMap</a></li><li><a href="advanced.html">Fortgeschrittene Techniken</a></li><li><a href="avoid.html">Wann man mod_rewrite nicht verwenden sollte</a></li><li><a href="#comments_section">Kommentare</a></li></ul></div>
+</div>
+<div class="bottomlang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/htaccess.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.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 />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite and .htaccess files</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/htaccess.html" title="English"> en </a> |
-<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/htaccess.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
<div id="quickview"><h3>See also</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Module documentation</a></li><li><a href="intro.html">mod_rewrite introduction</a></li><li><a href="remapping.html">Redirection and remapping</a></li><li><a href="vhosts.html">Virtual hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Using RewriteMap</a></li><li><a href="advanced.html">Advanced techniques</a></li><li><a href="avoid.html">When not to use mod_rewrite</a></li><li><a href="#comments_section">Comments</a></li></ul></div>
</div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/htaccess.html" title="English"> en </a> |
-<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/htaccess.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="es" xml:lang="es"><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>mod_rewrite y archivos .htaccess - Servidor HTTP Apache Versión 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p>
+<p class="apache">Versión 2.5 del Servidor HTTP Apache</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/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite y archivos .htaccess</h1>
+<div class="toplang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/htaccess.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>Este documento complementa la <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">documentación de referencia</a>. Describe
+la forma en que las reglas cambian cuando usa <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> en archivos .htaccess,
+y cómo lidiar con estos cambios.</p>
+
+</div>
+<div id="quickview"><h3>Consulte también</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentación del módulo</a></li><li><a href="intro.html">Introducción a mod_rewrite</a></li><li><a href="remapping.html">Redirección y remapeo</a></li><li><a href="vhosts.html">Hosts virtuales</a></li><li><a href="proxy.html">Proxy</a></li><li><a href="rewritemap.html">Uso de RewriteMap</a></li><li><a href="advanced.html">Técnicas avanzadas</a></li><li><a href="avoid.html">Cuándo no usar mod_rewrite</a></li><li><a href="#comments_section">Comentarios</a></li></ul></div>
+</div>
+<div class="bottomlang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/htaccess.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.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 />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite et les fichiers .htaccess</h1>
<div class="toplang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/htaccess.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/htaccess.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
correspondance</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Serveurs mandataires</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li><li><a href="#comments_section">Commentaires</a></li></ul></div>
</div>
<div class="bottomlang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/htaccess.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/htaccess.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.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 />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="ja" xml:lang="ja"><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>mod_rewrite と .htaccess ファイル - Apache HTTP サーバ バージョン 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
+<p class="apache">Apache HTTP サーバ バージョン 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite と .htaccess ファイル</h1>
+<div class="toplang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/htaccess.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>このドキュメントは <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">リファレンスドキュメント</a>を補足するものです。
+.htaccess ファイルで <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を使用する際のルールの変更点と、
+それらの変更への対処方法について説明します。</p>
+
+</div>
+<div id="quickview"><h3>参照</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">モジュールドキュメント</a></li><li><a href="intro.html">mod_rewrite 入門</a></li><li><a href="remapping.html">リダイレクトとリマッピング</a></li><li><a href="vhosts.html">バーチャルホスト</a></li><li><a href="proxy.html">プロキシ</a></li><li><a href="rewritemap.html">RewriteMap の使用</a></li><li><a href="advanced.html">高度なテクニック</a></li><li><a href="avoid.html">mod_rewrite を使わない場合</a></li><li><a href="#comments_section">コメント</a></li></ul></div>
+</div>
+<div class="bottomlang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/htaccess.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.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="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="EUC-KR"?>
+<!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="ko" xml:lang="ko"><head>
+<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_rewrite�� .htaccess ���� - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite�� .htaccess ����</h1>
+<div class="toplang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/htaccess.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>�� 문��� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">참조 문ì��</a>ë¥� ë³´ì¶©�©ë����.
+.htaccess ���¼ì���� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥� �¬ì�©í�� ��
+ê·�ì¹��� ë³�ê²½ë���� ë°©ì��ê³� �´ë�¬í�� ë³�ê²� �¬í���� ì²�리í���� ë°©ë���
+�¤ë��©ë����.</p>
+
+</div>
+<div id="quickview"><h3>Âü°í</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">모ë�� 문ì��</a></li><li><a href="intro.html">mod_rewrite ��ê°�</a></li><li><a href="remapping.html">리ë�¤ì�´ë����ê³� �¬ë§¤��</a></li><li><a href="vhosts.html">ê°��� �¸ì�¤í��</a></li><li><a href="proxy.html">��ë¡���</a></li><li><a href="rewritemap.html">RewriteMap �¬ì�©í��ê¸�</a></li><li><a href="advanced.html">ê³�ê¸� 기ì��</a></li><li><a href="avoid.html">mod_rewriteë¥� �¬ì�©í��ì§� ë§����� �� ê²½ì��</a></li><li><a href="#comments_section">Comments</a></li></ul></div>
+</div>
+<div class="bottomlang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/htaccess.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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>mod_rewrite ve .htaccess dosyaları - 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" type="text/javascript">
+</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></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="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.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite ve .htaccess dosyaları</h1>
+<div class="toplang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/htaccess.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</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> modülünü .htaccess dosyalarında
+kullandığınızda kuralların nasıl değiştiğini ve bu değişikliklerle
+nasıl başa çıkacağınızı açıklar.</p>
+
+</div>
+<div id="quickview"><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="intro.html">mod_rewrite'a giriş</a></li><li><a href="remapping.html">Yeniden yönlendirme ve yeniden eşleme</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><li><a href="#comments_section">Yorum</a></li></ul></div>
+</div>
+<div class="bottomlang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/htaccess.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.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="http://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></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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="zh-cn" xml:lang="zh-cn"><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>mod_rewrite 和 .htaccess 文件 - Apache HTTP 服务器 版本 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP 服务器版本 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP 服务器</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../">版本 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite 和 .htaccess 文件</h1>
+<div class="toplang">
+<p><span>可用语言: </span><a href="../de/rewrite/htaccess.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.html" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>本文档是 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">参考文档</a>的补充。它描述了在
+.htaccess 文件中使用 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 时规则的变化方式,
+以及如何处理这些变化。</p>
+
+</div>
+<div id="quickview"><h3>参见</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">模块文档</a></li><li><a href="intro.html">mod_rewrite 简介</a></li><li><a href="remapping.html">重定向和重映射</a></li><li><a href="vhosts.html">虚拟主机</a></li><li><a href="proxy.html">代理</a></li><li><a href="rewritemap.html">使用 RewriteMap</a></li><li><a href="advanced.html">高级技术</a></li><li><a href="avoid.html">何时不使用 mod_rewrite</a></li><li><a href="#comments_section">评论</a></li></ul></div>
+</div>
+<div class="bottomlang">
+<p><span>可用语言: </span><a href="../de/rewrite/htaccess.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/htaccess.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/htaccess.html" title="Simplified Chinese"> zh-cn </a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2026 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许可证.</p>
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
# GENERATED FROM XML -- DO NOT EDIT
+URI: index.html.de
+Content-Language: de
+Content-type: text/html; charset=ISO-8859-1
+
URI: index.html.en.utf8
Content-Language: en
Content-type: text/html; charset=UTF-8
+URI: index.html.es.utf8
+Content-Language: es
+Content-type: text/html; charset=UTF-8
+
URI: index.html.fr.utf8
Content-Language: fr
Content-type: text/html; charset=UTF-8
+URI: index.html.ja.utf8
+Content-Language: ja
+Content-type: text/html; charset=UTF-8
+
+URI: index.html.ko.euc-kr
+Content-Language: ko
+Content-type: text/html; charset=EUC-KR
+
URI: index.html.tr.utf8
Content-Language: tr
Content-type: text/html; charset=UTF-8
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!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="de" xml:lang="de"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache mod_rewrite - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite</h1>
+<div class="toplang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> bietet eine Möglichkeit, eingehende
+ URL-Anfragen dynamisch zu modifizieren, basierend auf Regeln mit
+ <a href="intro.html#regex">regulären Ausdrücken</a>. Dies ermöglicht
+ es Ihnen, beliebige URLs auf Ihre interne URL-Struktur in jeder
+ gewünschten Weise abzubilden.</p>
+
+ <p>Es unterstützt eine unbegrenzte Anzahl von Regeln und eine
+ unbegrenzte Anzahl angehängter Regelbedingungen für jede Regel,
+ um einen wirklich flexiblen und leistungsfähigen Mechanismus zur
+ URL-Manipulation bereitzustellen. Die URL-Manipulationen können
+ von verschiedenen Tests abhängen: Servervariablen, Umgebungsvariablen,
+ HTTP-Header, Zeitstempel, externe Datenbankabfragen und verschiedene
+ andere externe Programme oder Handler können verwendet werden, um
+ eine granulare URL-Zuordnung zu erreichen.</p>
+
+ <p>Umschreibungsregeln können auf vollständige URLs angewendet werden,
+ einschließlich des Pfadinfo- und Query-String-Teils, und können im
+ Server-Kontext (<code>httpd.conf</code>), im VirtualHost-Kontext
+ (<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>-Blöcke)
+ oder im Verzeichniskontext (<code>.htaccess</code>-Dateien und
+ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>-Blöcke)
+ verwendet werden. Das umgeschriebene Ergebnis kann zu weiteren Regeln,
+ interner Unterverarbeitung, externer Anfrage-Umleitung oder
+ Proxy-Weiterleitung führen, abhängig davon, welche
+ <a href="flags.html">Flags</a> Sie an die Regeln anhängen.</p>
+
+ <p>Da <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> so leistungsfähig ist, kann es
+ tatsächlich recht komplex sein. Dieses Dokument ergänzt die
+ <a href="../mod/mod_rewrite.html">Referenzdokumentation</a> und
+ versucht, einen Teil dieser Komplexität zu mildern und hochgradig
+ kommentierte Beispiele für gängige Szenarien bereitzustellen, die Sie
+ mit <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> bewältigen können. Wir versuchen aber
+ auch zu zeigen, wann Sie <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> nicht verwenden
+ sollten, und stattdessen andere Standard-Apache-Funktionen nutzen
+ sollten, um diese unnötige Komplexität zu vermeiden.</p>
+
+<ul>
+<li><a href="../mod/mod_rewrite.html">mod_rewrite-Referenzdokumentation</a></li>
+<li><a href="intro.html">Einführung in reguläre Ausdrücke und mod_rewrite</a></li>
+<li><a href="flags.html">RewriteRule-Flags</a></li>
+<li><a href="rewritemap.html">Verwendung von RewriteMap</a></li>
+<li><a href="avoid.html">Wann man mod_rewrite <strong>NICHT</strong> verwenden sollte</a></li>
+<li><a href="remapping.html">Verwendung von mod_rewrite zur Umleitung und Neuzuordnung von URLs</a></li>
+<li><a href="access.html">Verwendung von mod_rewrite zur Zugriffskontrolle</a></li>
+<li><a href="vhosts.html">Dynamische virtuelle Hosts mit mod_rewrite</a></li>
+<li><a href="proxy.html">Dynamisches Proxying mit mod_rewrite</a></li>
+<li><a href="advanced.html">Fortgeschrittene Techniken</a></li>
+<li><a href="tech.html">Technische Details</a></li>
+</ul>
+</div>
+<div id="quickview"><h3>Siehe auch</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">mod_rewrite-Referenzdokumentation</a></li><li><a href="../urlmapping.html">URLs dem Dateisystem zuordnen</a></li><li><a href="https://cwiki.apache.org/confluence/display/httpd/Rewrite">mod_rewrite-Wiki</a></li><li><a href="../glossary.html">Glossar</a></li></ul></div>
+</div>
+<div class="bottomlang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/" 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 />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/" title="English"> en </a> |
+<p><span>Available Languages: </span><a href="../de/rewrite/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" title="English"> en </a> |
+<a href="../es/rewrite/" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
wiki</a></li><li><a href="../glossary.html">Glossary</a></li></ul></div>
</div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/" title="English"> en </a> |
+<p><span>Available Languages: </span><a href="../de/rewrite/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" title="English"> en </a> |
+<a href="../es/rewrite/" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div id="footer">
--- /dev/null
+<?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="es" xml:lang="es"><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>Apache mod_rewrite - Servidor HTTP Apache Versión 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p>
+<p class="apache">Versión 2.5 del Servidor HTTP Apache</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/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.5</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite</h1>
+<div class="toplang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/" title="Español"> es </a> |
+<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> proporciona una forma de modificar las
+ solicitudes de URL entrantes, dinámicamente, basándose en reglas de <a href="intro.html#regex">expresiones
+ regulares</a>. Esto le permite mapear URLs arbitrarias a
+ su estructura interna de URLs de la forma que desee.</p>
+
+ <p>Soporta un número ilimitado de reglas y un
+ número ilimitado de condiciones de regla adjuntas para cada regla, para
+ proporcionar un mecanismo de manipulación de URLs realmente flexible y potente.
+ Las manipulaciones de URL pueden depender de varias pruebas:
+ variables del servidor, variables de entorno, cabeceras HTTP,
+ marcas de tiempo, consultas a bases de datos externas, y varios otros
+ programas externos o manejadores, pueden usarse para lograr una coincidencia
+ de URL granular.</p>
+
+ <p>Las reglas de reescritura pueden operar sobre las URLs completas, incluyendo las partes
+ de path-info y cadena de consulta, y pueden usarse en contexto per-servidor
+ (<code>httpd.conf</code>), contexto per-virtualhost (bloques <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>), o
+ contexto per-directorio (archivos <code>.htaccess</code> y bloques <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>). El
+ resultado reescrito puede llevar a más reglas, sub-procesamiento
+ interno, redirección de solicitud externa, o paso a través de
+ proxy, dependiendo de qué <a href="flags.html">banderas</a>
+ adjunte a las reglas.</p>
+
+ <p>Dado que <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> es tan potente, puede ser bastante
+ complejo. Este documento complementa la <a href="../mod/mod_rewrite.html">documentación de referencia</a>, e
+ intenta aliviar algo de esa complejidad, y proporcionar ejemplos altamente
+ anotados de escenarios comunes que puede manejar con
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pero también intentamos mostrarle cuándo no debería
+ usar <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, y usar otras características estándar de Apache en su lugar,
+ evitando así esta complejidad innecesaria.</p>
+
+
+<ul>
+<li><a href="../mod/mod_rewrite.html">Documentación de referencia de
+mod_rewrite</a></li>
+<li><a href="intro.html">Introducción a las expresiones regulares y mod_rewrite</a></li>
+<li><a href="flags.html">Banderas de RewriteRule</a></li>
+<li><a href="rewritemap.html">Uso de RewriteMap</a></li>
+<li><a href="avoid.html">Cuándo <strong>NO</strong> usar mod_rewrite</a></li>
+<li><a href="remapping.html">Uso de mod_rewrite para redirección y remapeo de URLs</a></li>
+<li><a href="access.html">Uso de mod_rewrite para control de acceso</a></li>
+<li><a href="vhosts.html">Hosts virtuales dinámicos con mod_rewrite</a></li>
+<li><a href="proxy.html">Proxy dinámico con mod_rewrite</a></li>
+<li><a href="advanced.html">Técnicas avanzadas</a></li>
+<li><a href="tech.html">Detalles técnicos</a></li>
+</ul>
+</div>
+<div id="quickview"><h3>Consulte también</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentación de referencia de
+mod_rewrite</a></li><li><a href="../urlmapping.html">Mapeo de URLs al sistema de archivos</a></li><li><a href="https://cwiki.apache.org/confluence/display/httpd/Rewrite">Wiki de
+mod_rewrite</a></li><li><a href="../glossary.html">Glosario</a></li></ul></div>
+</div>
+<div class="bottomlang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/" title="Español"> es </a> |
+<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/" 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 />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Le module Apache mod_rewrite</h1>
<div class="toplang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/rewrite/" title="Français"> fr </a> |
+<a href="../ja/rewrite/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> permet de modifier les requêtes
serveurs virtuels (sections <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>), ou dans le
contexte des
répertoires (fichiers <code>.htaccess</code> et blocs
- <code><Directory></code>. Le résultat
+ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>). Le résultat
réécrit peut conduire vers d'autres règles à un
traitement secondaire interne, une redirection vers une requête
externe ou même l'envoi vers un serveur mandataire, en fonction
<li><a href="rewritemap.html">Utilisation de RewriteMap</a></li>
<li><a href="avoid.html">Quand <strong>NE PAS</strong> utiliser mod_rewrite</a></li>
<li><a href="remapping.html">Utilisation de mod_rewrite pour la
-redirection et la remise en correspondance avec le système de
-fichiers des URLs</a></li>
+redirection et la remise en correspondance des URLs</a></li>
<li><a href="access.html">Utilisation de mod_rewrite pour le
contrôle d'accès</a></li>
<li><a href="vhosts.html">Les serveurs virtuels dynamiques avec mod_rewrite</a></li>
</a></li><li><a href="../glossary.html">Glossaire</a></li></ul></div>
</div>
<div class="bottomlang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/rewrite/" title="Français"> fr </a> |
+<a href="../ja/rewrite/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div id="footer">
--- /dev/null
+<?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="ja" xml:lang="ja"><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>Apache mod_rewrite - Apache HTTP サーバ バージョン 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
+<p class="apache">Apache HTTP サーバ バージョン 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.5</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite</h1>
+<div class="toplang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> は、<a href="intro.html#regex">正規表現</a>
+ ルールに基づいて受信 URL リクエストを動的に変更する方法を提供します。
+ これにより、任意の URL を内部 URL 構造に自由にマッピングできます。</p>
+
+ <p>各ルールに対して無制限の数のルールと無制限の数の
+ 付随するルール条件をサポートしており、非常に柔軟で強力な URL 操作
+ メカニズムを提供します。URL 操作はさまざまなテストに依存できます:
+ サーバ変数、環境変数、HTTP ヘッダ、タイムスタンプ、外部データベース
+ 検索、およびさまざまな他の外部プログラムやハンドラを使用して、
+ きめ細かい URL マッチングを実現できます。</p>
+
+ <p>書き換えルールは、完全な URL (パス情報とクエリ文字列部分を含む)
+ に対して動作でき、サーバ単位のコンテキスト
+ (<code>httpd.conf</code>)、バーチャルホスト単位のコンテキスト
+ (<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> ブロック)、
+ またはディレクトリ単位のコンテキスト (<code>.htaccess</code> ファイルと
+ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ブロック)
+ で使用できます。書き換えの結果は、ルールに付加する
+ <a href="flags.html">フラグ</a>に応じて、さらなるルール処理、
+ 内部サブ処理、外部リクエストリダイレクト、またはプロキシ
+ パススルーにつながります。</p>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> は非常に強力であるため、かなり
+ 複雑になり得ます。このドキュメントは
+ <a href="../mod/mod_rewrite.html">リファレンスドキュメント</a>を
+ 補足し、その複雑さを軽減し、<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> で扱う可能性のある
+ 一般的なシナリオの詳細な注釈付きの例を提供することを試みます。
+ しかし同時に、<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を使用すべきでない場合や、
+ 代わりに他の標準的な Apache 機能を使用して不要な複雑さを避けるべき場合も
+ 示そうとしています。</p>
+
+
+<ul>
+<li><a href="../mod/mod_rewrite.html">mod_rewrite リファレンスドキュメント</a></li>
+<li><a href="intro.html">正規表現と mod_rewrite の紹介</a></li>
+<li><a href="flags.html">RewriteRule フラグ</a></li>
+<li><a href="rewritemap.html">RewriteMap の使用</a></li>
+<li><a href="avoid.html">mod_rewrite を使う<strong>べきでない</strong>場合</a></li>
+<li><a href="remapping.html">mod_rewrite を使った URL のリダイレクトとリマッピング</a></li>
+<li><a href="access.html">mod_rewrite を使ったアクセス制御</a></li>
+<li><a href="vhosts.html">mod_rewrite を使った動的バーチャルホスト</a></li>
+<li><a href="proxy.html">mod_rewrite を使った動的プロキシ</a></li>
+<li><a href="advanced.html">高度なテクニック</a></li>
+<li><a href="tech.html">技術的詳細</a></li>
+</ul>
+</div>
+<div id="quickview"><h3>参照</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">mod_rewrite リファレンスドキュメント</a></li><li><a href="../urlmapping.html">URL からファイルシステムへのマッピング</a></li><li><a href="https://cwiki.apache.org/confluence/display/httpd/Rewrite">mod_rewrite
+wiki</a></li><li><a href="../glossary.html">用語集</a></li></ul></div>
+</div>
+<div class="bottomlang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/" 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="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="EUC-KR"?>
+<!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="ko" xml:lang="ko"><head>
+<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache mod_rewrite - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite</h1>
+<div class="toplang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" title="Korean"> ko </a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� <a href="intro.html#regex">���
+ ������</a> ê·�ì¹��� 기ë����� �¤ì�´ì�¤ë�� URL ��ì²��� �����¼ë�
+ �������� ë°©ë��� ��ê³µí�©ë����. �´ë�� �µí�� ������ URL��
+ �´ë� URL 구조�� ������ ë°©ì���¼ë� 매í���� �� ���µë����.</p>
+
+ <p>�´ê��� 무ì������ ê·�ì¹�ê³� ê°� ê·�ì¹��� ���� 무ì������
+ 첨ë��� ê·�ì¹� ì¡°ê±´�� ì§������� ��ë§�ë¡� ���°í��ê³� ê°��¥í��
+ URL ì¡°ì�� ë©�커ë��ì¦��� ��ê³µí�©ë����. URL ì¡°ì���� �¤ì����
+ ���¤í�¸ì�� ��ì¡´í�� �� ���µë����: ��ë²� ë³���, ��ê²� ë³���,
+ HTTP �¤ë��, �����¤í�¬í��, �¸ë� �°ì�´í�°ë��´ì�� ì¡°í�� ë°�
+ �¤ì���� 기í�� �¸ë� ��ë¡�ê·¸ë�¨ì�´ë�� �¸ë�¤ë�¬ë�� �¬ì�©í����
+ �¸ë��� URL 매ì¹�� �¬ì�±í�� �� ���µë����.</p>
+
+ <p>�¬ì���� ê·�ì¹��� ê²½ë� ��ë³� ë°� 쿼리 문ì���� ë¶�ë¶���
+ �¬í�¨í�� ��ì²� URL�� ���� ������ �� ���¼ë©°, ��ë²�ë³�
+ 컨í���¤í��(<code>httpd.conf</code>), ê°����¸ì�¤í�¸ë�
+ 컨í���¤í��(<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> ë¸�ë¡�) ����
+ ������리ë� 컨í���¤í��(<code>.htaccess</code> ���� ë°�
+ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ��)����
+ �¬ì�©í�� �� ���µë����. �¬ì���±ë�� ê²°ê³¼�� ê·�ì¹��� 첨ë�����
+ <a href="flags.html">����ê·�</a>�� �°ë�� ì¶�ê°� ê·�ì¹�,
+ �´ë� ���� ì²�ë¦�, �¸ë� ��ì²� 리ë�¤ì�´ë���� ���� ��ë¡���
+ �¨ì�¤ì�¤ë£¨ë¡� �´ì�´ì� �� ���µë����.</p>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� 매ì�� ê°��¥í��ë¯�ë¡�
+ ���¹í�� ë³µì�¡í�� �� ���µë����. �� 문ì����
+ <a href="../mod/mod_rewrite.html">참조 문�</a>�
+ ë³´ì¶©��ë©�, �´ë�¬í�� ë³µì�¡ì�±ì�� ������ê³�
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¡� ì²�리í�� �� ���� �¼ë�����
+ ����리ì�¤ì�� 주ì���� ��ë¶��� ����ë¥� ��ê³µí��ê³��� �©ë����.
+ ��ì§�ë§� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥� �¬ì�©í��ì§� ë§����� ��
+ ���� ë³´ì�¬ì£¼ë©�, ���� �¤ë¥¸ ��ì¤� Apache 기ë�¥ì�� �¬ì�©í����
+ �´ë�¬í�� ë¶������� ë³µì�¡ì�±ì�� �¼í����ë¡� �©ë����.</p>
+
+
+<ul>
+<li><a href="../mod/mod_rewrite.html">mod_rewrite 참조
+문�</a></li>
+<li><a href="intro.html">��� ������� mod_rewrite ���</a></li>
+<li><a href="flags.html">RewriteRule �����</a></li>
+<li><a href="rewritemap.html">RewriteMap �¬ì�©í��ê¸�</a></li>
+<li><a href="avoid.html">mod_rewriteë¥� �¬ì�©í��ì§� <strong>ë§����� ��</strong> ê²½ì��</a></li>
+<li><a href="remapping.html">URL 리ë�¤ì�´ë���� ë°� �¬ë§¤���� ���� mod_rewrite �¬ì��</a></li>
+<li><a href="access.html">��ê·� ���´ë�� ���� mod_rewrite �¬ì��</a></li>
+<li><a href="vhosts.html">mod_rewriteë¥� �¬ì�©í�� ���� ê°��� �¸ì�¤í��</a></li>
+<li><a href="proxy.html">mod_rewriteë¥� �¬ì�©í�� ���� ��ë¡���</a></li>
+<li><a href="advanced.html">�� 기�</a></li>
+<li><a href="tech.html">기ì���� �¸ë� �¬í��</a></li>
+</ul>
+</div>
+<div id="quickview"><h3>Âü°í</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">mod_rewrite 참조
+문ì��</a></li><li><a href="../urlmapping.html">���� ���¤í���� URL 매í��</a></li><li><a href="https://cwiki.apache.org/confluence/display/httpd/Rewrite">mod_rewrite
+����</a></li><li><a href="../glossary.html">�©ì�´ì�</a></li></ul></div>
+</div>
+<div class="bottomlang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" title="Korean"> ko </a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/" 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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<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.5</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite</h1>
<div class="toplang">
-<p><span>Mevcut Diller: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/rewrite/" title="Türkçe"> tr </a> |
<a href="../zh-cn/rewrite/" 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><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülü gelen URL isteklerinde değişiklik
- yapabilmek için <a href="intro.html#regex">düzenli ifade</a> kurallarına
- dayalı, devingen bir yol sunar. Böylece, keyfi URL'leri dahili URL
- yapınızla kolayca eşleyebilirsiniz.</p>
- <p>Gerçekten esnek ve güçlü bir URL kurgulama mekanizması oluşturmak için
- sınısız sayıda kural ve her kural için de sınırsız sayıda koşul destekler.
- URL değişiklikleri çeşitli sınamalara dayanır; sunucu değişkenleri, HTTP
- başlıkları, ortam değişkenleri, zaman damgaları hatta çeşitli biçimlerde
- harici veritabanı sorguları bile bu amaçla kullanılabilir.</p>
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, gelen URL isteklerini <a href="intro.html#regex">düzenli ifade</a> kurallarına dayalı olarak
+ devingen bir şekilde değiştirmek için bir yol sunar. Böylece, keyfi
+ URL'leri istediğiniz şekilde dahili URL yapınıza
+ eşleyebilirsiniz.</p>
- <p>Yeniden yazma kuralları URL’lerin tamamında (path-info kısmı ve sorgu
- dizgesi dahil) hem sunucu bağlamında (<code>httpd.conf</code>) hem sanal
- konaklar bağlamında (<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> bölümleri), hem de dizin bağlamında
- (<code>.htaccess</code> dosyaları ve <code><Directory></code>
- bölümleri) çalışır ve URL üzerinde sorgu dizgesi bölümleri bile
- oluşturabilir. Kurallara atadığınız <a href="flags.html">seçeneklere</a>
- bağlı olarak, yeniden yazılan URL sonuçta dahili işlemlerde, harici
- yönlendirmelerde ve vekalet işlemlerinde kullanılabilir.</p>
+ <p>Gerçekten esnek ve güçlü bir URL değiştirme mekanizması
+ sağlamak üzere sınırsız sayıda kural ve her kural için sınırsız
+ sayıda ilişkili kural koşulunu destekler. URL değişiklikleri
+ çeşitli sınamalara bağlı olabilir: sunucu değişkenleri, ortam
+ değişkenleri, HTTP başlıkları, zaman damgaları, harici veritabanı
+ sorguları ve çeşitli diğer harici programlar veya işleyiciler,
+ ayrıntılı URL eşleştirme sağlamak için kullanılabilir.</p>
+
+ <p>Yeniden yazma kuralları, yol bilgisi ve sorgu dizgesi
+ bölümleri dahil olmak üzere URL'lerin tamamı üzerinde işlem
+ yapabilir ve sunucu bağlamında (<code>httpd.conf</code>), sanal
+ konak bağlamında (<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> blokları) veya dizin
+ bağlamında (<code>.htaccess</code> dosyaları ve <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> blokları)
+ kullanılabilir. Yeniden yazılmış sonuç, kurallara eklediğiniz
+ <a href="flags.html">bayraklara</a> bağlı olarak başka
+ kurallara, dahili alt işlemeye, harici istek yönlendirmesine veya
+ vekil geçişine yol açabilir.</p>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> çok güçlü olduğundan, gerçekten
+ oldukça karmaşık olabilir. Bu belge, <a href="../mod/mod_rewrite.html">başvuru belgelerini</a> tamamlar
+ ve bu karmaşıklığın bir kısmını gidermeye çalışır,
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ile ele alabileceğiniz yaygın
+ senaryoların ayrıntılı açıklamalı örneklerini sunar. Ancak aynı
+ zamanda, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> kullanmamanız gereken
+ durumları da göstermeye çalışıyoruz; bunun yerine diğer standart
+ Apache özelliklerini kullanarak bu gereksiz karmaşıklıktan
+ kaçınabilirsiniz.</p>
- <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülü çok güçlü olduğundan, gerçekten çok
- karmaşık olabilir. Bu belge, <a href="../mod/mod_rewrite.html">başvuru
- belgeleri</a>nin tamamlayıcısı olup karmaşıklığı biraz azaltmaya çalışır
- ve <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ile elde edilebilen ortak senaryoların
- oldukça açıklamalı örneklerini sağlar. Fakat ayrıca,
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülünü kullanmamanız, yerine standart
- Apache özelliklerini kullanmanız gereken durumları da göstermeye,
- böylece gereksiz karmaşıklıktan kurtulmanızı sağlamaya çalıştık.</p>
<ul>
-<li><a href="../mod/mod_rewrite.html">mod_rewrite başvuru belgesi</a></li>
-<li><a href="intro.html">mod_rewrite ve düzenli ifadelere giriş</a></li>
-<li><a href="remapping.html">URL yönlendirme ve yeniden eşlemede mod_rewrite kullanımı</a></li>
-<li><a href="access.html">Erişimi denetlemekte mod_rewrite kullanımı</a></li>
+<li><a href="../mod/mod_rewrite.html">mod_rewrite başvuru
+belgeleri</a></li>
+<li><a href="intro.html">Düzenli ifadelere ve mod_rewrite'a giriş</a></li>
+<li><a href="flags.html">RewriteRule Bayrakları</a></li>
+<li><a href="rewritemap.html">RewriteMap Kullanımı</a></li>
+<li><a href="avoid.html">mod_rewrite <strong>Kullanılmaması</strong> Gereken Durumlar</a></li>
+<li><a href="remapping.html">URL yeniden yönlendirme ve yeniden eşleme için mod_rewrite kullanımı</a></li>
+<li><a href="access.html">Erişim denetimi için mod_rewrite kullanımı</a></li>
<li><a href="vhosts.html">mod_rewrite ile devingen sanal konaklar</a></li>
-<li><a href="proxy.html">mod_rewrite ile devingen vekalet</a></li>
-<li><a href="rewritemap.html">RewriteMap kullanımı</a></li>
+<li><a href="proxy.html">mod_rewrite ile devingen vekil kullanımı</a></li>
<li><a href="advanced.html">İleri teknikler</a></li>
-<li><a href="avoid.html">mod_rewrite ne zaman kullanıl<strong>maMA</strong>lı</a></li>
-<li><a href="flags.html">RewriteRule seçenekleri</a></li>
<li><a href="tech.html">Teknik ayrıntılar</a></li>
</ul>
</div>
-<div id="quickview"><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">mod_rewrite başvuru belgesi</a>
-</li><li><a href="../urlmapping.html">URL’lerin Dosya Sistemine Eşlenmesi</a></li><li><a href="https://cwiki.apache.org/confluence/display/httpd/Rewrite">mod_rewrite wiki</a>
-</li><li><a href="../glossary.html">Terimler</a></li></ul></div>
+<div id="quickview"><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">mod_rewrite başvuru
+belgeleri</a></li><li><a href="../urlmapping.html">URL'lerin Dosya Sistemine Eşlenmesi</a></li><li><a href="https://cwiki.apache.org/confluence/display/httpd/Rewrite">mod_rewrite
+wiki</a></li><li><a href="../glossary.html">Terimler</a></li></ul></div>
</div>
<div class="bottomlang">
-<p><span>Mevcut Diller: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/rewrite/" title="Türkçe"> tr </a> |
<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div id="footer">
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP 服务器</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../">版本 2.5</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite</h1>
<div class="toplang">
-<p><span>可用语言: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<p><span>可用语言: </span><a href="../de/rewrite/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/rewrite/" title="Simplified Chinese"> zh-cn </a></p>
</div>
-<div class="outofdate">此翻译可能过期。要了解最近的更改,请阅读英文版。</div>
- <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 提供了基于<a href="intro.html#regex">正则表达式</a>规则动态修改传入的请求的 URL 的方法。
- 这允许你以自己喜欢的任意方法映射任意 URL 到你的内部 URL 结构。</p>
- <p>它支持无限的规则,以及为每个规则附加条件,从而提供了一个真正灵活且强大的 URL
- 操作机制。URL 操作可以依赖于各种测试,例如服务器变量,环境变量,HTTP
- 头,时戳,甚至外部数据库查询等,以便完成 URL 单元匹配。</p>
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 提供了一种基于<a href="intro.html#regex">正则表达式</a>规则动态修改传入 URL
+ 请求的方法。这允许你以任意方式将任意 URL 映射到你的内部 URL 结构。</p>
- <p>这个模块在服务器上下文 (<code>httpd.conf</code>),虚拟主机上下文 (<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> 指令块),目录上下文
- (<code>.htaccess</code> 文件和 <code><Directory></code>
- 指令块) 对完整的 URL (包含目录信息部分和查询字符串部分) 操作。
- 重写结果可以导致新的规则处理,内部的后续处理,外部请求重定向,甚至透过内部代理,
- 这取决于你为规则附加的<a href="flags.html">标志</a>。</p>
+ <p>它支持无限数量的规则,并且每条规则可以附加无限数量的规则条件,
+ 从而提供了一个真正灵活且强大的 URL 操作机制。URL 操作可以依赖于各种测试:
+ 服务器变量、环境变量、HTTP 头、时间戳、外部数据库查询,
+ 以及各种其他外部程序或处理程序,都可以用于实现精细的 URL 匹配。</p>
- <p>既然 mod_rewrite 这么强大,它当然是相当复杂。这篇文档作为<a href="../mod/mod_rewrite.html">参考手册</a>的补充,试图减轻一些复杂性,
- 提供你可能使用 mod_rewrite 的常见场景的有充分注释的例子。
- 但是,我们也试图告诉你,在什么时候你不应当使用 mod_rewrite,
- 可以使用其它标准的 Apache 特性来达到目的,以避免无谓的复杂性。</p>
+ <p>重写规则可以操作完整的 URL,包括路径信息和查询字符串部分,
+ 并且可以在服务器级上下文(<code>httpd.conf</code>)、
+ 虚拟主机级上下文(<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> 块)或目录级上下文
+ (<code>.htaccess</code> 文件和 <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> 块)中使用。
+ 重写后的结果可以导向进一步的规则处理、内部子处理、外部请求重定向或代理透传,
+ 这取决于你为规则附加的<a href="flags.html">标志</a>。</p>
+
+ <p>由于 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 功能非常强大,它确实可能相当复杂。
+ 本文档是<a href="../mod/mod_rewrite.html">参考文档</a>的补充,
+ 试图减轻一些复杂性,并提供你可能使用
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 处理的常见场景的详细注释示例。
+ 但我们也会尝试告诉你何时不应该使用
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>,而应使用其他标准的 Apache 特性来代替,
+ 从而避免不必要的复杂性。</p>
<ul>
-<li><a href="../mod/mod_rewrite.html">mod_rewrite å\8f\82è\80\83æ\89\8bå\86\8c</a></li>
-<li><a href="intro.html">正则表达式与 mod_rewrite 入门</a></li>
-<li><a href="remapping.html">使用 mod_rewrite 重定向和重新映射 URL</a></li>
-<li><a href="access.html">使用 mod_rewrite 控制访问</a></li>
-<li><a href="vhosts.html">动态虚拟主机与 mod_rewrite</a></li>
-<li><a href="proxy.html">动态代理与 mod_rewrite</a></li>
+<li><a href="../mod/mod_rewrite.html">mod_rewrite å\8f\82è\80\83æ\96\87æ¡£</a></li>
+<li><a href="intro.html">mod_rewrite 简介</a></li>
+<li><a href="remapping.html">URL 重映射和重定向</a></li>
+<li><a href="access.html">访问控制</a></li>
+<li><a href="vhosts.html">虚拟主机</a></li>
+<li><a href="proxy.html">代理</a></li>
<li><a href="rewritemap.html">使用 RewriteMap</a></li>
-<li><a href="advanced.html">高级技术与诀窍</a></li>
-<li><a href="avoid.html">何时 <strong>不要</strong>使用 mod_rewrite</a></li>
+<li><a href="advanced.html">高级技术</a></li>
+<li><a href="avoid.html">何时不使用 mod_rewrite</a></li>
<li><a href="flags.html">RewriteRule 标志</a></li>
<li><a href="tech.html">技术细节</a></li>
</ul>
</div>
-<div id="quickview"><h3>参见</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">mod_rewrite 参考手册</a></li><li><a href="../urlmapping.html">从 URL 映射到文件系统</a></li><li><a href="https://cwiki.apache.org/confluence/display/httpd/Rewrite">mod_rewrite
-wiki</a></li><li><a href="../glossary.html">术语</a></li></ul></div>
+<div id="quickview"><h3>参见</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">mod_rewrite 参考文档</a></li><li><a href="intro.html">mod_rewrite 简介</a></li><li><a href="remapping.html">URL 重映射和重定向</a></li><li><a href="access.html">访问控制</a></li><li><a href="vhosts.html">虚拟主机</a></li><li><a href="proxy.html">代理</a></li><li><a href="rewritemap.html">使用 RewriteMap</a></li><li><a href="advanced.html">高级技术</a></li><li><a href="avoid.html">何时不使用 mod_rewrite</a></li><li><a href="flags.html">RewriteRule 标志</a></li><li><a href="tech.html">技术细节</a></li></ul></div>
</div>
<div class="bottomlang">
-<p><span>可用语言: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<p><span>可用语言: </span><a href="../de/rewrite/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/rewrite/" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/rewrite/" title="Simplified Chinese"> zh-cn </a></p>
</div><div id="footer">
<variant>de</variant>
<variant>en</variant>
<variant>es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant>ja</variant>
<variant>ko</variant>
<variant>tr</variant>
- <variant outdated="yes">tr</variant>
- <variant outdated="yes">zh-cn</variant>
+ <variant>zh-cn</variant>
</variants>
</metafile>
# GENERATED FROM XML -- DO NOT EDIT
+URI: intro.html.de
+Content-Language: de
+Content-type: text/html; charset=ISO-8859-1
+
URI: intro.html.en.utf8
Content-Language: en
Content-type: text/html; charset=UTF-8
+URI: intro.html.es.utf8
+Content-Language: es
+Content-type: text/html; charset=UTF-8
+
URI: intro.html.fr.utf8
Content-Language: fr
Content-type: text/html; charset=UTF-8
+
+URI: intro.html.ja.utf8
+Content-Language: ja
+Content-type: text/html; charset=UTF-8
+
+URI: intro.html.ko.euc-kr
+Content-Language: ko
+Content-type: text/html; charset=EUC-KR
+
+URI: intro.html.tr.utf8
+Content-Language: tr
+Content-type: text/html; charset=UTF-8
+
+URI: intro.html.zh-cn.utf8
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!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="de" xml:lang="de"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Einführung in Apache mod_rewrite - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Einführung in Apache mod_rewrite</h1>
+<div class="toplang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/intro.html" 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" hreflang="tr" rel="alternate" 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>
+
+<p>Dieses Dokument ergänzt die <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">Referenzdokumentation</a>. Es
+beschreibt die grundlegenden Konzepte, die für die Verwendung von
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> notwendig sind. Andere Dokumente gehen
+mehr ins Detail, aber dieses Dokument soll dem Anfänger den Einstieg
+erleichtern.
+</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">Einführung</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#regex">Reguläre Ausdrücke</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewriterule">RewriteRule-Grundlagen</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flags">Umschreibungs-Flags</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritecond">Umschreibungsbedingungen</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritemap">Umschreibungs-Maps</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#htaccess">.htaccess-Dateien</a></li>
+</ul><h3>Siehe auch</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Moduldokumentation</a></li><li><a href="remapping.html">Umleitung und Neuzuordnung</a></li><li><a href="access.html">Zugriffskontrolle</a></li><li><a href="vhosts.html">Virtuelle Hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Verwendung von RewriteMap</a></li><li><a href="advanced.html">Fortgeschrittene Techniken</a></li><li><a href="avoid.html">Wann man mod_rewrite nicht verwenden sollte</a></li><li><a href="#comments_section">Kommentare</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="introduction" id="introduction">Einführung</a> <a title="Permanent link" href="#introduction" class="permalink">¶</a></h2>
+<p>Das Apache-Modul <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ist ein sehr
+leistungsfähiges und ausgereiftes Modul, das eine Möglichkeit bietet,
+URL-Manipulationen durchzuführen. Damit können Sie nahezu alle Arten von
+URL-Umschreibungen durchführen, die Sie möglicherweise benötigen. Es ist
+jedoch etwas komplex und kann für Anfänger einschüchternd sein. Es besteht
+auch die Tendenz, Umschreibungsregeln als magische Formeln zu behandeln
+und sie zu verwenden, ohne wirklich zu verstehen, was sie tun.</p>
+
+<p>Dieses Dokument versucht, ausreichend Hintergrundwissen zu vermitteln,
+damit das Folgende verstanden und nicht nur blind kopiert wird.
+</p>
+
+<p>Denken Sie daran, dass viele gängige URL-Manipulationsaufgaben nicht
+die volle Leistungsfähigkeit und Komplexität von <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+erfordern. Für einfache Aufgaben siehe <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> und die
+Dokumentation zur <a href="../urlmapping.html">Zuordnung von URLs zum
+Dateisystem</a>.</p>
+
+<p>Stellen Sie schließlich vor dem Fortfahren sicher, dass Sie die
+Protokollebene von <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> mit der
+<code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code>-Direktive auf eine der
+Trace-Ebenen konfigurieren. Obwohl dies eine überwältigende Menge an
+Informationen liefern kann, ist es unverzichtbar bei der Fehlersuche in
+der <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>-Konfiguration, da es Ihnen genau zeigt,
+wie jede Regel verarbeitet wird.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="regex" id="regex">Reguläre Ausdrücke</a> <a title="Permanent link" href="#regex" class="permalink">¶</a></h2>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> verwendet das Vokabular der <a href="http://pcre.org/">Perl-kompatiblen regulären Ausdrücke</a>. In
+diesem Dokument versuchen wir nicht, eine detaillierte Referenz zu
+regulären Ausdrücken zu liefern. Dafür empfehlen wir die <a href="http://pcre.org/pcre.txt">PCRE-Manpages</a>, die <a href="http://perldoc.perl.org/perlre.html">Perl-Manpage für reguläre
+Ausdrücke</a> und <a href="https://www.oreilly.com/library/view/mastering-regular-expressions/0596528124/">Mastering
+Regular Expressions von Jeffrey Friedl</a> (die dritte Auflage stammt
+von 2006, aber die Syntax regulärer Ausdrücke ist im Wesentlichen
+unverändert, und es bleibt die maßgebliche Referenz zu diesem Thema).</p>
+
+<p>In diesem Dokument versuchen wir, genügend Regex-Vokabular zu
+vermitteln, um Ihnen den Einstieg zu erleichtern, ohne Sie zu
+überfordern, in der Hoffnung, dass <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>s wissenschaftliche Formeln sind und keine
+magischen Beschwörungen.</p>
+
+<h3><a name="regexvocab" id="regexvocab">Regex-Vokabular</a></h3>
+
+<p>Die folgenden sind die minimalen Bausteine, die Sie benötigen, um
+reguläre Ausdrücke und <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>s
+zu schreiben. Sie stellen sicherlich kein vollständiges Vokabular für
+reguläre Ausdrücke dar, aber sie sind ein guter Ausgangspunkt und sollten
+Ihnen helfen, grundlegende reguläre Ausdrücke zu lesen und eigene zu
+schreiben.</p>
+
+<table>
+<tr>
+<th>Zeichen</th>
+<th>Bedeutung</th>
+<th>Beispiel</th>
+</tr>
+
+<tr>
+ <td><code>.</code></td>
+ <td>Stimmt mit jedem einzelnen Zeichen überein</td>
+ <td><code>c.t</code> stimmt mit <code>cat</code>, <code>cot</code>,
+ <code>cut</code> usw. überein</td>
+</tr>
+<tr>
+ <td><code>+</code></td>
+ <td>Wiederholt die vorherige Übereinstimmung ein oder mehrmals</td>
+ <td><code>a+</code> stimmt mit <code>a</code>, <code>aa</code>,
+ <code>aaa</code> usw. überein</td>
+</tr>
+<tr>
+ <td><code>*</code></td>
+ <td>Wiederholt die vorherige Übereinstimmung null oder mehrmals</td>
+ <td><code>a*</code> stimmt mit allem überein, womit auch <code>a+</code>
+ übereinstimmt, aber auch mit einem leeren String</td>
+</tr>
+<tr>
+ <td><code>?</code></td>
+ <td>Macht die Übereinstimmung optional</td>
+ <td><code>colou?r</code> stimmt mit <code>color</code> und
+ <code>colour</code> überein</td>
+</tr>
+<tr>
+ <td><code>\</code></td>
+ <td>Maskiert das nächste Zeichen</td>
+ <td><code>\.</code> stimmt mit <code>.</code> (Punkt) überein und nicht
+ mit <em>jedem einzelnen Zeichen</em>, wie oben erklärt</td>
+</tr>
+<tr>
+ <td><code>^</code></td>
+ <td>Als Anker bezeichnet, stimmt mit dem Anfang des Strings überein</td>
+ <td><code>^a</code> stimmt mit einem String überein, der mit <code>a</code> beginnt</td>
+</tr>
+<tr>
+ <td><code>$</code></td>
+ <td>Der andere Anker, stimmt mit dem Ende des Strings überein</td>
+ <td><code>a$</code> stimmt mit einem String überein, der mit <code>a</code> endet</td>
+</tr>
+<tr>
+ <td><code>( )</code></td>
+ <td>Gruppiert mehrere Zeichen zu einer Einheit und erfasst eine
+ Übereinstimmung zur Verwendung als Rückreferenz</td>
+ <td><code>(ab)+</code> stimmt mit <code>ababab</code> überein - das heißt,
+ das <code>+</code> gilt für die Gruppe. Für mehr zu Rückreferenzen
+ siehe <a href="#InternalBackRefs">unten</a></td>
+</tr>
+<tr>
+ <td><code>[ ]</code></td>
+ <td>Eine Zeichenklasse - stimmt mit einem der Zeichen überein</td>
+ <td><code>c[uoa]t</code> stimmt mit <code>cut</code>, <code>cot</code> oder
+ <code>cat</code> überein</td>
+</tr>
+<tr>
+ <td><code>[^ ]</code></td>
+ <td>Negative Zeichenklasse - stimmt mit jedem nicht angegebenen Zeichen überein</td>
+ <td><code>c[^/]t</code> stimmt mit <code>cat</code> oder <code>c=t</code> überein,
+ aber nicht mit <code>c/t</code></td></tr>
+</table>
+
+<p>In <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> kann das Zeichen <code>!</code> vor
+einem regulären Ausdruck verwendet werden, um ihn zu negieren. Das heißt,
+ein String gilt nur dann als übereinstimmend, wenn er nicht mit dem Rest
+des Ausdrucks übereinstimmt.</p>
+
+
+
+<h3><a name="InternalBackRefs" id="InternalBackRefs">Verfügbarkeit von Regex-Rückreferenzen</a></h3>
+
+ <p>Hier ist eine wichtige Sache zu beachten: Wann immer Sie
+ Klammern in <em>Pattern</em> oder in einem der
+ <em>CondPattern</em> verwenden, werden intern Rückreferenzen
+ erstellt, die mit den Strings <code>$N</code> und <code>%N</code>
+ (siehe unten) verwendet werden können. Diese stehen für die
+ Erstellung des <em>Substitution</em>-Parameters einer
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> oder des
+ <em>TestString</em>-Parameters einer
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> zur Verfügung.</p>
+ <p>Erfassungen in den <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>-Mustern stehen (kontraintuitiv) allen
+ vorhergehenden <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>-Direktiven
+ zur Verfügung, da der <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>-Ausdruck
+ vor den einzelnen Bedingungen ausgewertet wird.</p>
+
+ <p>Abbildung 1 zeigt, an welche Stellen die Rückreferenzen zur
+ Expansion übertragen werden und illustriert den Ablauf der
+ RewriteRule-/RewriteCond-Zuordnung. In den nächsten Kapiteln
+ werden wir erkunden, wie diese Rückreferenzen verwendet werden,
+ also machen Sie sich keine Sorgen, wenn es Ihnen zunächst etwas
+ fremd erscheint.
+ </p>
+
+<p class="figure">
+ <img src="../images/rewrite_backreferences.png" alt="Ablauf der RewriteRule- und RewriteCond-Zuordnung" /><br />
+ <dfn>Abbildung 1:</dfn> Der Rückreferenz-Ablauf durch eine Regel.<br />
+ In diesem Beispiel würde eine Anfrage für <code>/test/1234</code> in <code>/admin.foo?page=test&id=1234&host=admin.example.com</code> umgewandelt.
+</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewriterule" id="rewriterule">RewriteRule-Grundlagen</a> <a title="Permanent link" href="#rewriterule" class="permalink">¶</a></h2>
+<p>Eine <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> besteht
+aus drei durch Leerzeichen getrennten Argumenten. Die Argumente sind:</p>
+<ol>
+<li><var>Pattern</var>: welche eingehenden URLs von der Regel betroffen sein sollen;</li>
+<li><var>Substitution</var>: wohin die übereinstimmenden Anfragen gesendet werden sollen;</li>
+<li><var>[flags]</var>: Optionen, die die umgeschriebene Anfrage beeinflussen.</li>
+</ol>
+
+<p>Das <var>Pattern</var> ist ein <a href="#regex">regulärer Ausdruck</a>.
+Es wird anfänglich (für die erste Umschreibungsregel oder bis eine Ersetzung
+erfolgt) gegen den URL-Pfad der eingehenden Anfrage abgeglichen (der Teil
+nach dem Hostnamen, aber vor einem Fragezeichen, das den Beginn eines
+Query-Strings anzeigt) oder im Verzeichniskontext gegen den Pfad der
+Anfrage relativ zum Verzeichnis, für das die Regel definiert ist. Sobald
+eine Ersetzung erfolgt ist, werden die folgenden Regeln gegen den
+ersetzten Wert abgeglichen.
+</p>
+
+<p class="figure">
+ <img src="../images/syntax_rewriterule.png" alt="Syntax der RewriteRule-Direktive" /><br />
+ <dfn>Abbildung 2:</dfn> Syntax der RewriteRule-Direktive.
+</p>
+
+<p>Die <var>Substitution</var> kann selbst eines von drei Dingen sein:</p>
+
+<dl>
+<dt>1. Ein vollständiger Dateisystempfad zu einer Ressource</dt>
+<dd>
+<pre class="prettyprint lang-config">RewriteRule "^/games" "/usr/local/games/web/puzzles.html"</pre>
+
+<p>Dies bildet eine Anfrage auf einen beliebigen Ort in Ihrem Dateisystem ab,
+ähnlich wie die <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>-Direktive.</p>
+</dd>
+
+<dt>2. Ein Web-Pfad zu einer Ressource</dt>
+<dd>
+<pre class="prettyprint lang-config">RewriteRule "^/games$" "/puzzles.html"</pre>
+
+<p>Wenn <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> auf
+<code>/usr/local/apache2/htdocs</code> gesetzt ist, würde diese Direktive
+Anfragen für <code>http://example.com/games</code> auf den Pfad
+<code>/usr/local/apache2/htdocs/puzzles.html</code> abbilden.</p>
+
+</dd>
+
+<dt>3. Eine absolute URL</dt>
+<dd>
+<pre class="prettyprint lang-config">RewriteRule "^/product/view$" "http://site2.example.com/seeproduct.html" [R]</pre>
+
+<p>Dies weist den Client an, eine neue Anfrage für die angegebene URL zu
+stellen.</p>
+</dd>
+</dl>
+
+<div class="warning">Beachten Sie, dass <strong>1</strong> und <strong>2</strong> exakt dieselbe Syntax haben. Der Unterschied besteht darin, dass bei <strong>1</strong> die oberste Ebene des Zielpfads (d.h. <code>/usr/</code>) im Dateisystem existiert, während dies bei <strong>2</strong> nicht der Fall ist (d.h. es gibt kein <code>/bar/</code> als Verzeichnis auf der obersten Ebene im Dateisystem).</div>
+
+<p>Die <var>Substitution</var> kann auch
+<em>Rückreferenzen</em> auf Teile des eingehenden URL-Pfads enthalten,
+die vom <var>Pattern</var> erfasst wurden. Betrachten Sie Folgendes:</p>
+<pre class="prettyprint lang-config">RewriteRule "^/product/(.*)/view$" "/var/web/productdb/$1"</pre>
+
+<p>Die Variable <code>$1</code> wird durch den Text ersetzt, der vom
+Ausdruck innerhalb der Klammern im <var>Pattern</var> erfasst wurde.
+Beispielsweise würde eine Anfrage für
+<code>http://example.com/product/r14df/view</code> auf den Pfad
+<code>/var/web/productdb/r14df</code> abgebildet.</p>
+
+<p>Wenn mehr als ein Ausdruck in Klammern vorhanden ist, stehen sie
+in der Reihenfolge in den Variablen <code>$1</code>, <code>$2</code>,
+<code>$3</code> usw. zur Verfügung.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flags" id="flags">Umschreibungs-Flags</a> <a title="Permanent link" href="#flags" class="permalink">¶</a></h2>
+<p>Das Verhalten einer <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> kann durch die Anwendung
+eines oder mehrerer Flags am Ende der Regel modifiziert werden.
+Beispielsweise kann das Übereinstimmungsverhalten einer Regel durch
+die Anwendung des <code>[NC]</code>-Flags auf Groß-/Kleinschreibung
+unempfindlich gemacht werden:
+</p>
+<pre class="prettyprint lang-config">RewriteRule "^puppy.html" "smalldog.html" [NC]</pre>
+
+
+<p>Weitere Details zu den verfügbaren Flags, ihren Bedeutungen und
+Beispiele finden Sie im Dokument <a href="flags.html">Umschreibungs-Flags</a>.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewritecond" id="rewritecond">Umschreibungsbedingungen</a> <a title="Permanent link" href="#rewritecond" class="permalink">¶</a></h2>
+<p>Eine oder mehrere <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>-Direktiven
+können verwendet werden, um die Typen von Anfragen einzuschränken, die der
+nachfolgenden <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+unterliegen. Das erste Argument ist eine Variable, die eine Eigenschaft
+der Anfrage beschreibt, das zweite Argument ist ein <a href="#regex">regulärer
+Ausdruck</a>, der mit der Variable übereinstimmen muss, und ein optionales
+drittes Argument ist eine Liste von Flags, die die Art der Auswertung
+der Übereinstimmung modifizieren.</p>
+
+<p class="figure">
+ <img src="../images/syntax_rewritecond.png" alt="Syntax der RewriteCond-Direktive" /><br />
+ <dfn>Abbildung 3:</dfn> Syntax der RewriteCond-Direktive
+</p>
+
+<p>Um beispielsweise alle Anfragen von einem bestimmten IP-Bereich an
+einen anderen Server zu senden, könnten Sie Folgendes verwenden:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{REMOTE_ADDR}" "^10\.2\."
+RewriteRule "(.*)" "http://intranet.example.com$1"</pre>
+
+
+<p>Wenn mehr als eine <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+angegeben wird, müssen alle übereinstimmen, damit die
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> angewendet wird.
+Um beispielsweise Anfragen abzulehnen, die das Wort "hack" in ihrem
+Query-String enthalten, es sei denn, sie enthalten auch ein Cookie mit
+dem Wort "go", könnten Sie Folgendes verwenden:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{QUERY_STRING}" "hack"
+RewriteCond "%{HTTP_COOKIE}" !go
+RewriteRule "." "-" [F]</pre>
+
+<p>Beachten Sie, dass das Ausrufezeichen eine negative Übereinstimmung
+angibt, sodass die Regel nur angewendet wird, wenn das Cookie nicht "go"
+enthält.</p>
+
+<p>Übereinstimmungen in den regulären Ausdrücken der
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>s können als Teil
+der <var>Substitution</var> in der
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> über die Variablen
+<code>%1</code>, <code>%2</code> usw. verwendet werden. Beispielsweise
+leitet Folgendes die Anfrage abhängig vom für den Zugriff auf die Website
+verwendeten Hostnamen in ein anderes Verzeichnis:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "(.*)"
+RewriteRule "^/(.*)" "/sites/%1/$1"</pre>
+
+<p>Wenn die Anfrage für <code>http://example.com/foo/bar</code> war,
+dann enthält <code>%1</code> den Wert <code>example.com</code> und
+<code>$1</code> den Wert <code>foo/bar</code>.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewritemap" id="rewritemap">Umschreibungs-Maps</a> <a title="Permanent link" href="#rewritemap" class="permalink">¶</a></h2>
+
+<p>Die <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>-Direktive
+bietet eine Möglichkeit, sozusagen eine externe Funktion aufzurufen,
+um Ihre Umschreibung durchzuführen. Dies wird im
+<a href="rewritemap.html">ergänzenden RewriteMap-Dokument</a>
+ausführlicher besprochen.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="htaccess" id="htaccess">.htaccess-Dateien</a> <a title="Permanent link" href="#htaccess" class="permalink">¶</a></h2>
+
+<p>Umschreibungen werden typischerweise in der Hauptserverkonfiguration
+(außerhalb eines <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>-Abschnitts)
+oder innerhalb von <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>-Containern
+konfiguriert. Dies ist die einfachste Art, Umschreibungen durchzuführen,
+und wird empfohlen. Es ist jedoch möglich, Umschreibungen innerhalb von
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>-Abschnitten
+oder <a href="../howto/htaccess.html"><code>.htaccess</code>-Dateien</a>
+auf Kosten zusätzlicher Komplexität durchzuführen. Diese Technik wird
+als verzeichnisbasierte Umschreibung bezeichnet.</p>
+
+<p>Der Hauptunterschied zu serverweiten Umschreibungen besteht darin, dass
+der Pfadpräfix des Verzeichnisses, das die <code>.htaccess</code>-Datei
+enthält, vor dem Abgleich in der <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+entfernt wird. Zusätzlich sollte <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>
+verwendet werden, um sicherzustellen, dass die Anfrage korrekt zugeordnet wird.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/intro.html" 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" hreflang="tr" rel="alternate" 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 />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite Introduction</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/intro.html" title="English"> en </a> |
-<a href="../fr/rewrite/intro.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/intro.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/intro.html" 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" hreflang="tr" rel="alternate" 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>
<p>This document supplements the <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
</div></div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/intro.html" title="English"> en </a> |
-<a href="../fr/rewrite/intro.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/intro.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/intro.html" 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" hreflang="tr" rel="alternate" 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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="es" xml:lang="es"><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>Introducción a Apache mod_rewrite - Servidor HTTP Apache Versión 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p>
+<p class="apache">Versión 2.5 del Servidor HTTP Apache</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/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Introducción a Apache mod_rewrite</h1>
+<div class="toplang">
+<p><span>Idiomas disponibles: </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" 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" hreflang="tr" rel="alternate" 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>
+
+<p>Este documento complementa la <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">documentación de referencia</a>. Describe
+los conceptos básicos necesarios para el uso de
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Otros documentos entran en mayor detalle,
+pero este documento debería ayudar al principiante a mojarse los pies.
+</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introducción</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#regex">Expresiones Regulares</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewriterule">Conceptos Básicos de RewriteRule</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flags">Banderas de Reescritura</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritecond">Condiciones de Reescritura</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritemap">Mapas de reescritura</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#htaccess">Archivos .htaccess</a></li>
+</ul><h3>Consulte también</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentación del módulo</a></li><li><a href="remapping.html">Redirección y remapeo</a></li><li><a href="access.html">Control de acceso</a></li><li><a href="vhosts.html">Hosts virtuales</a></li><li><a href="proxy.html">Proxy</a></li><li><a href="rewritemap.html">Uso de RewriteMap</a></li><li><a href="advanced.html">Técnicas avanzadas</a></li><li><a href="avoid.html">Cuándo no usar mod_rewrite</a></li><li><a href="#comments_section">Comentarios</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="introduction" id="introduction">Introducción</a> <a title="Enlace permanente" href="#introduction" class="permalink">¶</a></h2>
+<p>El módulo de Apache <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> es un módulo muy potente y
+sofisticado que proporciona una forma de hacer manipulaciones de URL. Con
+él, puede hacer casi todos los tipos de reescritura de URL que pueda necesitar. Es,
+sin embargo, algo complejo, y puede ser intimidante para el principiante.
+También hay una tendencia a tratar las reglas de reescritura como encantamientos mágicos,
+usándolas sin realmente entender lo que hacen.</p>
+
+<p>Este documento intenta dar suficiente contexto para que lo que
+sigue sea entendido, en lugar de simplemente copiado a ciegas.
+</p>
+
+<p>Recuerde que muchas tareas comunes de manipulación de URL no requieren la
+potencia y complejidad completas de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Para tareas
+simples, consulte <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> y la documentación
+sobre <a href="../urlmapping.html">mapeo de URLs al
+sistema de archivos</a>.</p>
+
+<p>Finalmente, antes de continuar, asegúrese de configurar
+el nivel de log de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> a uno de los niveles de traza usando
+la directiva <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code>. Aunque esto
+puede dar una cantidad abrumadora de información, es indispensable para
+depurar problemas con la configuración de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, ya que
+le dirá exactamente cómo se procesa cada regla.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="regex" id="regex">Expresiones Regulares</a> <a title="Enlace permanente" href="#regex" class="permalink">¶</a></h2>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> usa el vocabulario de <a href="http://pcre.org/">Expresiones
+Regulares Compatibles con Perl</a>. En este documento, no intentamos
+proporcionar una referencia detallada de expresiones regulares. Para eso,
+recomendamos las <a href="http://pcre.org/pcre.txt">páginas man de PCRE</a>, la
+<a href="http://perldoc.perl.org/perlre.html">página man de expresiones
+regulares de Perl</a>, y <a href="https://www.oreilly.com/library/view/mastering-regular-expressions/0596528124/">Mastering
+Regular Expressions, de Jeffrey Friedl</a> (la tercera edición es de
+2006, pero la sintaxis de expresiones regulares es esencialmente la misma, y este
+sigue siendo la referencia definitiva sobre el tema).</p>
+
+<p>En este documento, intentamos proporcionar suficiente vocabulario de regex
+para que pueda comenzar, sin ser abrumador, con la esperanza de que
+las <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>s sean fórmulas
+científicas, en lugar de encantamientos mágicos.</p>
+
+<h3><a name="regexvocab" id="regexvocab">Vocabulario de Regex</a></h3>
+
+<p>Los siguientes son los bloques de construcción mínimos que necesitará, para
+escribir expresiones regulares y <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>s. Ciertamente no
+representan un vocabulario completo de expresiones regulares, pero son un buen
+punto de partida, y deberían ayudarle a leer expresiones regulares básicas, así
+como a escribir las suyas propias.</p>
+
+<table>
+<tr>
+<th>Carácter</th>
+<th>Significado</th>
+<th>Ejemplo</th>
+</tr>
+
+<tr>
+ <td><code>.</code></td>
+ <td>Coincide con cualquier carácter individual</td>
+ <td><code>c.t</code> coincidirá con <code>cat</code>, <code>cot</code>,
+ <code>cut</code>, etc</td>
+</tr>
+<tr>
+ <td><code>+</code></td>
+ <td>Repite la coincidencia anterior una o más veces</td>
+ <td><code>a+</code> coincide con <code>a</code>, <code>aa</code>,
+ <code>aaa</code>, etc</td>
+</tr>
+<tr>
+ <td><code>*</code></td>
+ <td>Repite la coincidencia anterior cero o más veces</td>
+ <td><code>a*</code> coincide con todo lo mismo que <code>a+</code>,
+ pero también coincidirá con una cadena vacía</td>
+</tr>
+<tr>
+ <td><code>?</code></td>
+ <td>Hace la coincidencia opcional</td>
+ <td><code>colou?r</code> coincidirá con <code>color</code> y
+ <code>colour</code></td>
+</tr>
+<tr>
+ <td><code>\</code></td>
+ <td>Escapa el siguiente carácter</td>
+ <td><code>\.</code> coincidirá con <code>.</code> (punto) y no con <em>cualquier
+ carácter individual</em> como se explicó arriba</td>
+</tr>
+<tr>
+ <td><code>^</code></td>
+ <td>Llamado ancla, coincide con el inicio de la cadena</td>
+ <td><code>^a</code> coincide con una cadena que comienza con <code>a</code></td>
+</tr>
+<tr>
+ <td><code>$</code></td>
+ <td>La otra ancla, coincide con el final de la cadena</td>
+ <td><code>a$</code> coincide con una cadena que termina con <code>a</code></td>
+</tr>
+<tr>
+ <td><code>( )</code></td>
+ <td>Agrupa varios caracteres en una sola unidad, y captura una coincidencia
+ para uso en una referencia inversa</td>
+ <td><code>(ab)+</code> coincide con <code>ababab</code> - es decir, el
+ <code>+</code> se aplica al grupo. Para más sobre referencias inversas vea
+ <a href="#InternalBackRefs">más abajo</a></td>
+</tr>
+<tr>
+ <td><code>[ ]</code></td>
+ <td>Una clase de caracteres - coincide con uno de los caracteres</td>
+ <td><code>c[uoa]t</code> coincide con <code>cut</code>, <code>cot</code> o
+ <code>cat</code></td>
+</tr>
+<tr>
+ <td><code>[^ ]</code></td>
+ <td>Clase de caracteres negativa - coincide con cualquier carácter no especificado</td>
+ <td><code>c[^/]t</code> coincide con <code>cat</code> o <code>c=t</code> pero
+ no con <code>c/t</code></td></tr>
+</table>
+
+<p>En <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> el carácter <code>!</code> puede usarse
+antes de una expresión regular para negarla. Es decir, una cadena se
+considerará que ha coincidido solo si no coincide con el resto de
+la expresión.</p>
+
+
+
+<h3><a name="InternalBackRefs" id="InternalBackRefs">Disponibilidad de Referencias Inversas de Regex</a></h3>
+
+ <p>Una cosa importante que debe recordarse aquí: Siempre que
+ use paréntesis en <em>Pattern</em> o en uno de los
+ <em>CondPattern</em>, se crean referencias inversas internas
+ que pueden usarse con las cadenas <code>$N</code> y
+ <code>%N</code> (ver más abajo). Estas están disponibles para crear
+ el parámetro <em>Substitution</em> de una
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> o
+ el parámetro <em>TestString</em> de una
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>.</p>
+ <p> Las capturas en los patrones de <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> están (contraintuitivamente) disponibles para
+ todas las directivas
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> precedentes,
+ porque la expresión de <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ se evalúa antes que las condiciones individuales.</p>
+
+ <p>La Figura 1 muestra a qué
+ ubicaciones se transfieren las referencias inversas para expansión, así
+ como ilustra el flujo de la coincidencia de RewriteRule, RewriteCond.
+ En los próximos capítulos, exploraremos cómo usar
+ estas referencias inversas, así que no se preocupe si le parece un poco extraño
+ al principio.
+ </p>
+
+<p class="figure">
+ <img src="../images/rewrite_backreferences.png" alt="Flujo de coincidencia de RewriteRule y RewriteCond" /><br />
+ <dfn>Figura 1:</dfn> El flujo de referencias inversas a través de una regla.<br />
+ En este ejemplo, una solicitud para <code>/test/1234</code> sería transformada en <code>/admin.foo?page=test&id=1234&host=admin.example.com</code>.
+</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewriterule" id="rewriterule">Conceptos Básicos de RewriteRule</a> <a title="Enlace permanente" href="#rewriterule" class="permalink">¶</a></h2>
+<p>Una <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> consiste
+en tres argumentos separados por espacios. Los argumentos son</p>
+<ol>
+<li><var>Pattern</var>: qué URLs entrantes deben ser afectadas por la regla;</li>
+<li><var>Substitution</var>: a dónde deben enviarse las solicitudes coincidentes;</li>
+<li><var>[flags]</var>: opciones que afectan a la solicitud reescrita.</li>
+</ol>
+
+<p>El <var>Pattern</var> es una <a href="#regex">expresión regular</a>.
+Se compara inicialmente (para la primera regla de reescritura o hasta que ocurra una sustitución)
+contra la ruta URL de la solicitud entrante (la parte después del
+nombre de host pero antes de cualquier signo de interrogación que indique el inicio de una cadena
+de consulta) o, en contexto per-directorio, contra la ruta de la solicitud relativa
+al directorio para el cual se define la regla. Una vez que ha ocurrido una sustitución,
+las reglas siguientes se comparan contra el valor
+sustituido.
+</p>
+
+<p class="figure">
+ <img src="../images/syntax_rewriterule.png" alt="Sintaxis de la directiva RewriteRule" /><br />
+ <dfn>Figura 2:</dfn> Sintaxis de la directiva RewriteRule.
+</p>
+
+
+<p>La <var>Substitution</var> puede ser una de tres cosas:</p>
+
+<dl>
+<dt>1. Una ruta completa del sistema de archivos a un recurso</dt>
+<dd>
+<pre class="prettyprint lang-config">RewriteRule "^/games" "/usr/local/games/web/puzzles.html"</pre>
+
+<p>Esto mapea una solicitud a una ubicación arbitraria en su sistema de archivos, de forma
+similar a la directiva <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>.</p>
+</dd>
+
+<dt>2. Una ruta web a un recurso</dt>
+<dd>
+<pre class="prettyprint lang-config">RewriteRule "^/games$" "/puzzles.html"</pre>
+
+<p>Si <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> está configurado
+como <code>/usr/local/apache2/htdocs</code>, entonces esta directiva
+mapearía solicitudes para <code>http://example.com/games</code> a la
+ruta <code>/usr/local/apache2/htdocs/puzzles.html</code>.</p>
+
+</dd>
+
+<dt>3. Una URL absoluta</dt>
+<dd>
+<pre class="prettyprint lang-config">RewriteRule "^/product/view$" "http://site2.example.com/seeproduct.html" [R]</pre>
+
+<p>Esto le dice al cliente que haga una nueva solicitud a la URL especificada.</p>
+</dd>
+</dl>
+
+<div class="warning">Tenga en cuenta que <strong>1</strong> y <strong>2</strong> tienen exactamente la misma sintaxis. La diferencia entre ellos es que en el caso de <strong>1</strong>, el nivel superior de la ruta destino (es decir, <code>/usr/</code>) existe en el sistema de archivos, mientras que en el caso de <strong>2</strong>, no existe. (es decir, no hay <code>/bar/</code> como directorio de nivel raíz en el sistema de archivos.)</div>
+
+<p>La <var>Substitution</var> también puede
+contener <em>referencias inversas</em> a partes de la ruta URL entrante
+coincidida por el <var>Pattern</var>. Considere lo siguiente:</p>
+<pre class="prettyprint lang-config">RewriteRule "^/product/(.*)/view$" "/var/web/productdb/$1"</pre>
+
+<p>La variable <code>$1</code> será reemplazada por cualquier texto
+que haya coincidido con la expresión dentro de los paréntesis en
+el <var>Pattern</var>. Por ejemplo, una solicitud
+para <code>http://example.com/product/r14df/view</code> será mapeada
+a la ruta <code>/var/web/productdb/r14df</code>.</p>
+
+<p>Si hay más de una expresión entre paréntesis, están
+disponibles en orden en las
+variables <code>$1</code>, <code>$2</code>, <code>$3</code>, y así
+sucesivamente.</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flags" id="flags">Banderas de Reescritura</a> <a title="Enlace permanente" href="#flags" class="permalink">¶</a></h2>
+<p>El comportamiento de una <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> puede ser modificado por la
+aplicación de una o más banderas al final de la regla. Por ejemplo, el
+comportamiento de coincidencia de una regla puede hacerse insensible a mayúsculas/minúsculas mediante la
+aplicación de la bandera <code>[NC]</code>:
+</p>
+<pre class="prettyprint lang-config">RewriteRule "^puppy.html" "smalldog.html" [NC]</pre>
+
+
+<p>Para más detalles sobre las banderas disponibles, sus significados, y
+ejemplos, consulte el documento de <a href="flags.html">Banderas de Reescritura</a>.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewritecond" id="rewritecond">Condiciones de Reescritura</a> <a title="Enlace permanente" href="#rewritecond" class="permalink">¶</a></h2>
+<p>Una o más directivas <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+pueden usarse para restringir los tipos de solicitudes que estarán
+sujetas a la
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> siguiente. El
+primer argumento es una variable que describe una característica de la
+solicitud, el segundo argumento es una <a href="#regex">expresión
+regular</a> que debe coincidir con la variable, y un tercer argumento opcional
+es una lista de banderas que modifican cómo se evalúa la coincidencia.</p>
+
+<p class="figure">
+ <img src="../images/syntax_rewritecond.png" alt="Sintaxis de la directiva RewriteCond" /><br />
+ <dfn>Figura 3:</dfn> Sintaxis de la directiva RewriteCond
+</p>
+
+<p>Por ejemplo, para enviar todas las solicitudes desde un rango de IP particular a un
+servidor diferente, podría usar:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{REMOTE_ADDR}" "^10\.2\."
+RewriteRule "(.*)" "http://intranet.example.com$1"</pre>
+
+
+<p>Cuando se especifica más de
+una <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>,
+todas deben coincidir para que la
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> se aplique.
+Por ejemplo, para denegar solicitudes que contengan la palabra "hack" en
+su cadena de consulta, a menos que también contengan una cookie que contenga
+la palabra "go", podría usar:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{QUERY_STRING}" "hack"
+RewriteCond "%{HTTP_COOKIE}" !go
+RewriteRule "." "-" [F]</pre>
+
+<p>Note que el signo de exclamación especifica una coincidencia negativa, por lo que la regla solo se aplica si la cookie no contiene "go".</p>
+
+<p>Las coincidencias en las expresiones regulares contenidas en
+las <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>s pueden
+usarse como parte de la <var>Substitution</var> en
+la <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> usando las
+variables <code>%1</code>, <code>%2</code>, etc. Por ejemplo, esto
+dirigirá la solicitud a un directorio diferente dependiendo del
+nombre de host usado para acceder al sitio:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "(.*)"
+RewriteRule "^/(.*)" "/sites/%1/$1"</pre>
+
+<p>Si la solicitud fue para <code>http://example.com/foo/bar</code>,
+entonces <code>%1</code> contendrá <code>example.com</code>
+y <code>$1</code> contendrá <code>foo/bar</code>.</p>
+
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewritemap" id="rewritemap">Mapas de reescritura</a> <a title="Enlace permanente" href="#rewritemap" class="permalink">¶</a></h2>
+
+<p>La directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+proporciona una forma de llamar a una función externa, por así decirlo, para hacer su
+reescritura por usted. Esto se discute con mayor detalle en la <a href="rewritemap.html">documentación complementaria de RewriteMap</a>.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="htaccess" id="htaccess">Archivos .htaccess</a> <a title="Enlace permanente" href="#htaccess" class="permalink">¶</a></h2>
+
+<p>La reescritura se configura típicamente en la configuración principal del servidor
+(fuera de cualquier sección <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>) o
+dentro de contenedores <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.
+Esta es la forma más fácil de hacer reescritura y es
+recomendada. Sin embargo, es posible hacer reescritura
+dentro de secciones <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+o archivos <a href="../howto/htaccess.html"><code>.htaccess</code></a>
+a costa de algo de complejidad adicional. Esta técnica
+se llama reescrituras per-directorio.</p>
+
+<p>La principal diferencia con las reescrituras per-servidor es que el prefijo de ruta
+del directorio que contiene el archivo <code>.htaccess</code> se
+elimina antes de la coincidencia en
+la <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>. Además, se debería usar <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> para asegurar que la solicitud se mapee correctamente.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Idiomas disponibles: </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" 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" hreflang="tr" rel="alternate" 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 />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Introduction au module Apache mod_rewrite</h1>
<div class="toplang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/intro.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/intro.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </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" 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" hreflang="tr" rel="alternate" 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">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Ce document est un complément à la <a href="../mod/mod_rewrite.html">documentation de référence</a> du module
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Il décrit les concepts de base dont la
<p>mod_rewrite utilise le vocabulaire des <a href="http://pcre.org/">Expressions rationnelles compatibles Perl</a>.
Ce document n'a pas pour prétention d'être une référence détaillée des
expressions rationnelles. A cet effet, nous recommandons les <a href="http://pcre.org/pcre.txt">pages de manuel de PCRE</a>, la <a href="http://perldoc.perl.org/perlre.html">page de manuel des
-expressions rationnelles Perl</a>, et l'ouvrage <a href="http://shop.oreilly.com/product/9780596528126.do">Mastering
-Regular Expressions, by Jeffrey Friedl</a>.</p>
+expressions rationnelles Perl</a>, et l'ouvrage <a href="https://www.oreilly.com/library/view/mastering-regular-expressions/0596528124/">Mastering
+Regular Expressions, by Jeffrey Friedl</a> (la troisième édition date
+de 2006, mais la syntaxe des expressions rationnelles n'a pas vraiment
+changé, et cet ouvrage reste la référence en la matière).</p>
<p>Dans ce document, nous avons pour but de vous fournir suffisamment de
vocabulaire des expressions rationnelles pour vous mettre le pied à
<tr><td><code>?</code></td><td>Rend la correspondance optionnelle.</td><td>
<code>colou?r</code> correspondra à <code>color</code> et <code>colour</code>.</td>
</tr>
+<tr><td><code>\</code></td><td>Échappe le caractère
+suivant</td><td><code>\.</code> correspondra à <code>.</code> (point) et non pas à
+<em>tout caractère unique</em> comme expliqué ci-dessus</td></tr>
<tr><td><code>^</code></td><td>Appelé ancrage, correspond au début de la
chaîne</td>
<td><code>^a</code> correspond à une chaîne qui commence par
</div></div>
<div class="bottomlang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/intro.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/intro.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </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" 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" hreflang="tr" rel="alternate" 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 />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="ja" xml:lang="ja"><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>Apache mod_rewrite 入門 - Apache HTTP サーバ バージョン 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
+<p class="apache">Apache HTTP サーバ バージョン 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite 入門</h1>
+<div class="toplang">
+<p><span>翻訳済み言語: </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" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/intro.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/intro.html" hreflang="tr" rel="alternate" 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>
+
+<p>このドキュメントは <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">リファレンスドキュメント</a>を補足するものです。
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> の使用に必要な基本概念を説明します。
+他のドキュメントではさらに詳しく説明しますが、このドキュメントは
+初心者が最初の一歩を踏み出すのに役立つはずです。
+</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">はじめに</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#regex">正規表現</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewriterule">RewriteRule の基本</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flags">書き換えフラグ</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritecond">書き換え条件</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritemap">書き換えマップ</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#htaccess">.htaccess ファイル</a></li>
+</ul><h3>参照</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">モジュールドキュメント</a></li><li><a href="remapping.html">リダイレクトとリマッピング</a></li><li><a href="access.html">アクセス制御</a></li><li><a href="vhosts.html">バーチャルホスト</a></li><li><a href="proxy.html">プロキシ</a></li><li><a href="rewritemap.html">RewriteMap の使用</a></li><li><a href="advanced.html">高度なテクニック</a></li><li><a href="avoid.html">mod_rewrite を使わない場合</a></li><li><a href="#comments_section">コメント</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="introduction" id="introduction">はじめに</a> <a title="Permanent link" href="#introduction" class="permalink">¶</a></h2>
+<p>Apache モジュール <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> は、URL 操作を行う方法を
+提供する非常に強力で洗練されたモジュールです。これを使用すると、
+必要なほぼすべての種類の URL 書き換えを行うことができます。
+ただし、やや複雑で、初心者には敷居が高く感じられるかもしれません。
+また、書き換えルールを実際に何をしているか理解せずに、魔法の呪文として
+扱う傾向もあります。</p>
+
+<p>このドキュメントは、以下の内容が単にコピーされるのではなく、
+理解されるための十分な背景を提供することを目指しています。
+</p>
+
+<p>多くの一般的な URL 操作タスクは <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> の
+フルパワーと複雑さを必要としないことを忘れないでください。シンプルな
+タスクについては、<code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> と
+<a href="../urlmapping.html">URL からファイルシステムへの
+マッピング</a>に関するドキュメントを参照してください。</p>
+
+<p>最後に、先に進む前に、<code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code>
+ディレクティブを使用して <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> のログレベルを
+trace レベルのいずれかに設定してください。これにより圧倒的な量の情報が
+得られますが、<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 設定の問題をデバッグするのに
+不可欠です。各ルールがどのように処理されるかを正確に教えてくれます。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="regex" id="regex">正規表現</a> <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 互換
+正規表現</a>の語彙を使用します。このドキュメントでは、正規表現の
+詳細なリファレンスを提供しようとはしていません。そのためには、
+<a href="http://pcre.org/pcre.txt">PCRE man ページ</a>、
+<a href="http://perldoc.perl.org/perlre.html">Perl 正規表現
+man ページ</a>、および
+<a href="https://www.oreilly.com/library/view/mastering-regular-expressions/0596528124/">Jeffrey Friedl 著
+『詳説 正規表現』</a> (第 3 版は 2006 年のものですが、正規表現の
+構文は本質的に変わっておらず、このテーマの決定的なリファレンスです)
+を推奨します。</p>
+
+<p>このドキュメントでは、圧倒されることなく始められるように、
+十分な正規表現の語彙を提供しようとしています。
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> が魔法の呪文ではなく、
+科学的な公式であるようになることを願っています。</p>
+
+<h3><a name="regexvocab" id="regexvocab">正規表現の語彙</a></h3>
+
+<p>以下は、正規表現と <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> を書くために必要な
+最小限の構成要素です。これらは完全な正規表現の語彙を表すものでは
+ありませんが、良い出発点であり、基本的な正規表現を読むだけでなく、
+自分で書くのにも役立つはずです。</p>
+
+<table>
+<tr>
+<th>文字</th>
+<th>意味</th>
+<th>例</th>
+</tr>
+
+<tr>
+ <td><code>.</code></td>
+ <td>任意の 1 文字にマッチ</td>
+ <td><code>c.t</code> は <code>cat</code>、<code>cot</code>、
+ <code>cut</code> 等にマッチ</td>
+</tr>
+<tr>
+ <td><code>+</code></td>
+ <td>直前のマッチを 1 回以上繰り返す</td>
+ <td><code>a+</code> は <code>a</code>、<code>aa</code>、
+ <code>aaa</code> 等にマッチ</td>
+</tr>
+<tr>
+ <td><code>*</code></td>
+ <td>直前のマッチを 0 回以上繰り返す</td>
+ <td><code>a*</code> は <code>a+</code> がマッチするすべてにマッチするが、
+ 空文字列にもマッチする</td>
+</tr>
+<tr>
+ <td><code>?</code></td>
+ <td>マッチをオプションにする</td>
+ <td><code>colou?r</code> は <code>color</code> と
+ <code>colour</code> にマッチ</td>
+</tr>
+<tr>
+ <td><code>\</code></td>
+ <td>次の文字をエスケープ</td>
+ <td><code>\.</code> は上記で説明した<em>任意の 1 文字</em>ではなく、
+ <code>.</code> (ドット) にマッチ</td>
+</tr>
+<tr>
+ <td><code>^</code></td>
+ <td>アンカーと呼ばれ、文字列の先頭にマッチ</td>
+ <td><code>^a</code> は <code>a</code> で始まる文字列にマッチ</td>
+</tr>
+<tr>
+ <td><code>$</code></td>
+ <td>もう一つのアンカーで、文字列の末尾にマッチ</td>
+ <td><code>a$</code> は <code>a</code> で終わる文字列にマッチ</td>
+</tr>
+<tr>
+ <td><code>( )</code></td>
+ <td>複数の文字を 1 つの単位にグループ化し、バックリファレンスで
+ 使用するためのマッチをキャプチャ</td>
+ <td><code>(ab)+</code> は <code>ababab</code> にマッチ - つまり、
+ <code>+</code> がグループに適用される。バックリファレンスの
+ 詳細は<a href="#InternalBackRefs">以下</a>を参照</td>
+</tr>
+<tr>
+ <td><code>[ ]</code></td>
+ <td>文字クラス - いずれかの文字にマッチ</td>
+ <td><code>c[uoa]t</code> は <code>cut</code>、<code>cot</code>、
+ <code>cat</code> にマッチ</td>
+</tr>
+<tr>
+ <td><code>[^ ]</code></td>
+ <td>否定文字クラス - 指定されていない任意の文字にマッチ</td>
+ <td><code>c[^/]t</code> は <code>cat</code> や <code>c=t</code> に
+ マッチするが、<code>c/t</code> にはマッチしない</td></tr>
+</table>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> では、正規表現の前に <code>!</code> 文字を
+使用して否定できます。つまり、式の残りの部分にマッチしない場合にのみ、
+文字列がマッチしたとみなされます。</p>
+
+
+
+<h3><a name="InternalBackRefs" id="InternalBackRefs">正規表現バックリファレンスの利用</a></h3>
+
+ <p>ここで覚えておくべき重要なことがあります: <em>Pattern</em> 内または
+ <em>CondPattern</em> 内で括弧を使用するたびに、内部的にバックリファレンスが
+ 作成され、<code>$N</code> および <code>%N</code> という文字列で使用
+ できます (以下を参照)。これらは
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> の
+ <em>Substitution</em> パラメータまたは
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> の
+ <em>TestString</em> パラメータの作成に使用できます。</p>
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> パターン内の
+ キャプチャは、(直感に反して) すべての先行する
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> ディレクティブで
+ 利用可能です。これは、<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ 式が個々の条件よりも先に評価されるためです。</p>
+
+ <p>図 1 は、バックリファレンスが展開のためにどの場所に
+ 転送されるかを示すとともに、RewriteRule と RewriteCond の
+ マッチングのフローを図示しています。次の章では、これらの
+ バックリファレンスの使用方法を探りますので、最初は少し
+ 馴染みがないように感じても心配しないでください。
+ </p>
+
+<p class="figure">
+ <img src="../images/rewrite_backreferences.png" alt="RewriteRule と RewriteCond マッチングのフロー" /><br />
+ <dfn>図 1:</dfn> ルールを通るバックリファレンスのフロー。<br />
+ この例では、<code>/test/1234</code> へのリクエストは <code>/admin.foo?page=test&id=1234&host=admin.example.com</code> に変換されます。
+</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewriterule" id="rewriterule">RewriteRule の基本</a> <a title="Permanent link" href="#rewriterule" class="permalink">¶</a></h2>
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> は、
+スペースで区切られた 3 つの引数で構成されます。引数は以下の通りです</p>
+<ol>
+<li><var>Pattern</var>: ルールの影響を受ける受信 URL;</li>
+<li><var>Substitution</var>: マッチするリクエストの送信先;</li>
+<li><var>[flags]</var>: 書き換えられたリクエストに影響するオプション。</li>
+</ol>
+
+<p><var>Pattern</var> は<a href="#regex">正規表現</a>です。
+最初 (最初の書き換えルールまたは置換が発生するまで) は、受信リクエストの
+URL パス (ホスト名の後、クエリ文字列の開始を示す疑問符の前の部分) に対して
+マッチされます。ディレクトリ単位のコンテキストでは、ルールが定義された
+ディレクトリに対するリクエストの相対パスに対してマッチされます。
+置換が発生すると、後続のルールは置換された値に対してマッチされます。
+</p>
+
+<p class="figure">
+ <img src="../images/syntax_rewriterule.png" alt="RewriteRule ディレクティブの構文" /><br />
+ <dfn>図 2:</dfn> RewriteRule ディレクティブの構文
+</p>
+
+
+<p><var>Substitution</var> 自体は以下の 3 つのいずれかです:</p>
+
+<dl>
+<dt>1. リソースへの完全なファイルシステムパス</dt>
+<dd>
+<pre class="prettyprint lang-config">RewriteRule "^/games" "/usr/local/games/web/puzzles.html"</pre>
+
+<p>これは、<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> ディレクティブと
+同様に、リクエストをファイルシステム上の任意の場所にマッピングします。</p>
+</dd>
+
+<dt>2. リソースへの Web パス</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> に設定されている場合、
+このディレクティブは <code>http://example.com/games</code> への
+リクエストをパス <code>/usr/local/apache2/htdocs/puzzles.html</code>
+にマッピングします。</p>
+
+</dd>
+
+<dt>3. 絶対 URL</dt>
+<dd>
+<pre class="prettyprint lang-config">RewriteRule "^/product/view$" "http://site2.example.com/seeproduct.html" [R]</pre>
+
+<p>これは、指定された URL に対する新しいリクエストを行うよう
+クライアントに指示します。</p>
+</dd>
+</dl>
+
+<div class="warning"><strong>1</strong> と <strong>2</strong> はまったく同じ構文であることに注意してください。違いは、<strong>1</strong> の場合はターゲットパスのトップレベル (つまり <code>/usr/</code>) がファイルシステム上に存在するのに対し、<strong>2</strong> の場合は存在しない (つまり、ファイルシステムのルートレベルディレクトリとして <code>/bar/</code> が存在しない) ことです。</div>
+
+<p><var>Substitution</var> には、<var>Pattern</var> でマッチした
+受信 URL パスの部分への<em>バックリファレンス</em>も含めることができます。
+以下を考えてみてください:</p>
+<pre class="prettyprint lang-config">RewriteRule "^/product/(.*)/view$" "/var/web/productdb/$1"</pre>
+
+<p>変数 <code>$1</code> は、<var>Pattern</var> 内の括弧内の
+式でマッチしたテキストに置き換えられます。例えば、
+<code>http://example.com/product/r14df/view</code> へのリクエストは
+パス <code>/var/web/productdb/r14df</code> にマッピングされます。</p>
+
+<p>括弧内の式が複数ある場合、変数 <code>$1</code>、<code>$2</code>、
+<code>$3</code> 等の順序で利用できます。</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flags" id="flags">書き換えフラグ</a> <a title="Permanent link" href="#flags" class="permalink">¶</a></h2>
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> の動作は、
+ルールの末尾に 1 つ以上のフラグを適用することで変更できます。例えば、
+ルールのマッチング動作は <code>[NC]</code> フラグの適用で
+大文字小文字を区別しないようにできます:
+</p>
+<pre class="prettyprint lang-config">RewriteRule "^puppy.html" "smalldog.html" [NC]</pre>
+
+
+<p>利用可能なフラグ、その意味、および例の詳細については、
+<a href="flags.html">書き換えフラグ</a>ドキュメントを参照してください。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewritecond" id="rewritecond">書き換え条件</a> <a title="Permanent link" href="#rewritecond" class="permalink">¶</a></h2>
+<p>1 つ以上の <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+ディレクティブを使用して、後続の
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> の対象となる
+リクエストの種類を制限できます。最初の引数はリクエストの特性を
+記述する変数、2 番目の引数は変数にマッチする必要がある
+<a href="#regex">正規表現</a>、3 番目のオプション引数はマッチの
+評価方法を変更するフラグのリストです。</p>
+
+<p class="figure">
+ <img src="../images/syntax_rewritecond.png" alt="RewriteCond ディレクティブの構文" /><br />
+ <dfn>図 3:</dfn> RewriteCond ディレクティブの構文
+</p>
+
+<p>例えば、特定の IP 範囲からのすべてのリクエストを別のサーバに
+送信するには、以下を使用できます:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{REMOTE_ADDR}" "^10\.2\."
+RewriteRule "(.*)" "http://intranet.example.com$1"</pre>
+
+
+<p>複数の <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> が
+指定された場合、<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+が適用されるには、すべてがマッチする必要があります。例えば、
+クエリ文字列に "hack" という単語を含むリクエストを拒否するが、
+"go" という単語を含む cookie がある場合は除外するには、以下を使用
+できます:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{QUERY_STRING}" "hack"
+RewriteCond "%{HTTP_COOKIE}" !go
+RewriteRule "." "-" [F]</pre>
+
+<p>感嘆符は否定マッチを指定しており、cookie に "go" が含まれていない
+場合にのみルールが適用されます。</p>
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> 内の正規表現の
+マッチは、<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> の
+<var>Substitution</var> で変数 <code>%1</code>、<code>%2</code> 等を
+使用して使用できます。例えば、以下はサイトへのアクセスに使用された
+ホスト名に応じて、リクエストを異なるディレクトリに振り分けます:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "(.*)"
+RewriteRule "^/(.*)" "/sites/%1/$1"</pre>
+
+<p><code>http://example.com/foo/bar</code> へのリクエストの場合、
+<code>%1</code> は <code>example.com</code> を含み、
+<code>$1</code> は <code>foo/bar</code> を含みます。</p>
+
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewritemap" id="rewritemap">書き換えマップ</a> <a title="Permanent link" href="#rewritemap" class="permalink">¶</a></h2>
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> ディレクティブは、
+書き換えを行うための外部関数を呼び出す方法を提供します。これについては
+<a href="rewritemap.html">RewriteMap 補足ドキュメント</a>でより詳細に
+説明されています。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="htaccess" id="htaccess">.htaccess ファイル</a> <a title="Permanent link" href="#htaccess" class="permalink">¶</a></h2>
+
+<p>書き換えは通常、メインサーバ設定
+(<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+セクション外) または
+<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
+コンテナ内で設定されます。これが書き換えの最も簡単な方法であり、
+推奨されます。ただし、追加の複雑さを伴いますが、
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+セクションや <a href="../howto/htaccess.html"><code>.htaccess</code>
+ファイル</a>内で書き換えを行うことも可能です。このテクニックは
+ディレクトリ単位の書き換えと呼ばれます。</p>
+
+<p>サーバ単位の書き換えとの主な違いは、<code>.htaccess</code>
+ファイルを含むディレクトリのパスプレフィックスが
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> でのマッチング前に
+削除されることです。さらに、リクエストが適切にマッピングされるように
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> を使用する
+必要があります。</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>翻訳済み言語: </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" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/intro.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/intro.html" hreflang="tr" rel="alternate" 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="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="EUC-KR"?>
+<!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="ko" xml:lang="ko"><head>
+<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache mod_rewrite ��� - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite ���</h1>
+<div class="toplang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </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" title="Korean"> ko </a> |
+<a href="../tr/rewrite/intro.html" hreflang="tr" rel="alternate" 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>
+
+<p>�� 문��� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">참조 문ì��</a>ë¥� ë³´ì¶©�©ë����.
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> �¬ì�©ì�� ������ 기본 ê°�����
+�¤ë��©ë����. �¤ë¥¸ 문ì������ �� ���¸í�� �¤ë£¨ì§�ë§�, �� 문ì����
+�보�� �������� �� ������ �� �������.
+</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">���</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#regex">��� ������</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewriterule">RewriteRule 기본</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flags">�¬ì���� ����ê·�</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritecond">�¬ì���� ì¡°ê±´</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritemap">�¬ì���� ë§�</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#htaccess">.htaccess ����</a></li>
+</ul><h3>Âü°í</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">모ë�� 문ì��</a></li><li><a href="remapping.html">리ë�¤ì�´ë����ê³� �¬ë§¤��</a></li><li><a href="access.html">��ê·� ����</a></li><li><a href="vhosts.html">ê°��� �¸ì�¤í��</a></li><li><a href="proxy.html">��ë¡���</a></li><li><a href="rewritemap.html">RewriteMap �¬ì�©í��ê¸�</a></li><li><a href="advanced.html">ê³�ê¸� 기ì��</a></li><li><a href="avoid.html">mod_rewriteë¥� �¬ì�©í��ì§� ë§����� �� ê²½ì��</a></li><li><a href="#comments_section">Comments</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="introduction" id="introduction">��ê°�</a> <a title="Permanent link" href="#introduction" class="permalink">¶</a></h2>
+<p>Apache 모� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� URL 조���
+�������� ë°©ë��� ��ê³µí���� 매ì�� ê°��¥í��ê³� ��êµ��� 모ë��������.
+�´ë�� �¬ì�©í��ë©� ������ ê±°ì�� 모ë�� ������ URL �¬ì���±ì�� ������ ��
+���µë����. ê·¸ë�¬ë�� �¤ì�� ë³µì�¡í��ë©� ì´�ë³´ì����ê²� �������� ��
+���µë����. ���� �¤ì��ë¡� 무ì���� ����ì§� �´í�´í��ì§� ��ê³� �¬ì����
+ê·�ì¹��� ë§�ë²��� 주문ì²��� ì·¨ê����� ê²½í�¥ì�� ���µë����.</p>
+
+<p>�� 문ì���� �´í���� �´ì�©ì�� �¨ì���� 맹목���¼ë� ë³µì�¬ë���� ê²���
+������ �´í�´ë����ë¡� ì¶©ë��� ë°°ê²½ ì§����� ��ê³µí��ê³��� �©ë����.
+</p>
+
+<p>ë§��� �¼ë����� URL ì¡°ì�� ��������
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� ��� 기�과 복��� �������
+���¤ë�� ê²��� 기ì�µí��������. ê°��¨í�� ��������
+<code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>��
+<a href="../urlmapping.html">���� ���¤í���� URL 매í��</a>
+문�� 참조��������.</p>
+
+<p>ë§�ì§�ë§��¼ë� ì§�����ê¸� ���� <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> ì§����´ë�� �¬ì�©í����
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� �� ��벨� trace ��� �
+����ë¡� 구ì�±í��������. �´ë�� �������� ���� ��ë³´ë�� ��ê³µí�� ��
+��ì§�ë§�, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> �¤ì���� 문ì��ë¥�
+��ë²�ê¹����� �� ������������. ê°� ê·�ì¹��� �´ë�»ê� ì²�리ë����ì§�
+������ ���¤ì£¼ê¸� ��문ì������.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="regex" id="regex">��ê·� ������</a> <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
+�¸í�� ��ê·� ������</a> �´í��ë¥� �¬ì�©í�©ë����. �� 문ì��������
+��ê·� �������� ���� ���¸í�� 참조ë¥� ��ê³µí��ì§� ���µë����.
+�´ë�� ���� <a href="http://pcre.org/pcre.txt">PCRE 매ë�´ì��
+���´ì�</a>, <a href="http://perldoc.perl.org/perlre.html">Perl
+��ê·� ������ 매ë�´ì�� ���´ì�</a> ë°�
+<a href="https://www.oreilly.com/library/view/mastering-regular-expressions/0596528124/">Jeffrey
+Friedl�� Mastering Regular Expressions</a>(3���� 2006����
+ì¶�������ì§�ë§� ��ê·� ������ 구문�� 본ì����¼ë� ë³�ê²½ë��ì§� �����¼ë©°
+�� 주ì���� ���� ê²°ì������ ì°¸ê� ��ë£�ë¡� �¨ì�� ���µë����)ë¥�
+ê¶��¥í�©ë����.</p>
+
+<p>�� 문������� <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>�� ���� 주문��
+���� ê³¼í���� ê³µì���� ����ë¡� �������´ì� ���� ��ì¤����� ������기ì��
+ì¶©ë��� ��ê·� ������ �´í��ë¥� ��ê³µí��ê³��� �©ë����.</p>
+
+<h3><a name="regexvocab" id="regexvocab">��ê·� ������ �´í��</a></h3>
+
+<p>�¤ì���� ��ê·� ������ê³� <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>�� ���±í��ê¸� ����
+������ ìµ������� 구ì�� ����������. �´ê��¤ì�� ������ ��ê·� ������
+�´í��ë¥� �����´ì��� ��ì§�ë§� ������기ì�� ì¢��� ì¶�ë°����´ë©°, 기본����
+��ê·� �������� �½ê� ����ë§��� ê²��� ���±í���� �� ������ ��
+�������.</p>
+
+<table>
+<tr>
+<th>문�</th>
+<th>���</th>
+<th>����</th>
+</tr>
+
+<tr>
+ <td><code>.</code></td>
+ <td>������ �¨ì�� 문ì���� �¼ì�</td>
+ <td><code>c.t</code>�� <code>cat</code>, <code>cot</code>,
+ <code>cut</code> �±ê³¼ �¼ì�</td>
+</tr>
+<tr>
+ <td><code>+</code></td>
+ <td>�´ì�� �¼ì�ë¥� �� ë²� �´ì�� ë°�ë³�</td>
+ <td><code>a+</code>�� <code>a</code>, <code>aa</code>,
+ <code>aaa</code> �±ê³¼ �¼ì�</td>
+</tr>
+<tr>
+ <td><code>*</code></td>
+ <td>�´ì�� �¼ì�ë¥� 0ë²� �´ì�� ë°�ë³�</td>
+ <td><code>a*</code>�� <code>a+</code>ê°� �¼ì����� 모ë�� ê²�ê³�
+ �¼ì���ì§�ë§� ë¹� 문ì���´ê³¼�� �¼ì�</td>
+</tr>
+<tr>
+ <td><code>?</code></td>
+ <td>�¼ì�ë¥� �������¼ë� ë§���</td>
+ <td><code>colou?r</code>�� <code>color</code>��
+ <code>colour</code>�� �¼ì�</td>
+</tr>
+<tr>
+ <td><code>\</code></td>
+ <td>�¤ì�� 문ì��ë¥� �´ì�¤ì��´í��</td>
+ <td><code>\.</code>�� ������ �¤ë��� <em>������ �¨ì�� 문ì��</em>ê°�
+ ���� <code>.</code>(��)ê³� �¼ì�</td>
+</tr>
+<tr>
+ <td><code>^</code></td>
+ <td>�µì»¤�¼ê� ��ë©�, 문ì���´ì�� ����ê³� �¼ì�</td>
+ <td><code>^a</code>�� <code>a</code>ë¡� �������� 문ì���´ê³¼ �¼ì�</td>
+</tr>
+<tr>
+ <td><code>$</code></td>
+ <td>�¤ë¥¸ �µì»¤, 문ì���´ì�� ��ê³� �¼ì�</td>
+ <td><code>a$</code>�� <code>a</code>ë¡� ������ 문ì���´ê³¼ �¼ì�</td>
+</tr>
+<tr>
+ <td><code>( )</code></td>
+ <td>�¬ë�� 문ì��ë¥� �¨ì�� �¨ì��ë¡� 그룹����ê³� ��참조����
+ �¬ì�©í�� �¼ì�ë¥� 캡ì�</td>
+ <td><code>(ab)+</code>�� <code>ababab</code>ê³� �¼ì� -
+ ì¦�, <code>+</code>ê°� 그룹�� ���©ë��.
+ ��참조�� ���� ���¸í�� �´ì�©ì�� <a href="#InternalBackRefs">����</a>ë¥�
+ 참조</td>
+</tr>
+<tr>
+ <td><code>[ ]</code></td>
+ <td>문ì�� �´ë���� - 문ì�� ì¤� ������ �¼ì�</td>
+ <td><code>c[uoa]t</code>�� <code>cut</code>, <code>cot</code> ����
+ <code>cat</code>ê³� �¼ì�</td>
+</tr>
+<tr>
+ <td><code>[^ ]</code></td>
+ <td>ë¶��� 문ì�� �´ë���� - ì§�����ì§� ���� 모ë�� 문ì���� �¼ì�</td>
+ <td><code>c[^/]t</code>�� <code>cat</code> ���� <code>c=t</code>��
+ �¼ì���ì§�ë§� <code>c/t</code>���� �¼ì���ì§� ����</td></tr>
+</table>
+
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>���� <code>!</code> 문���
+��ê·� ������ ���� �¬ì�©í���� ë¶����� �� ���µë����. ì¦�, 문ì���´ì��
+��머ì� ������ê³� �¼ì���ì§� ���� ê²½ì�°ì��ë§� �¼ì��� ê²��¼ë�
+�주����.</p>
+
+
+
+<h3><a name="InternalBackRefs" id="InternalBackRefs">��ê·� ������ ��참조 �¬ì�� ê°��¥ì��</a></h3>
+
+ <p>�¬ê¸°�� 기ì�µí�´ì�� �� ì¤����� ���� ���µë����:
+ <em>Pattern</em>�´ë�� <em>CondPattern</em> ì¤� ��������
+ ê´��¸ë�� �¬ì�©í�� ��ë§��� �´ë����¼ë� ��참조ê°� ���±ë��ë©�
+ 문ì���� <code>$N</code>ê³� <code>%N</code>(���� 참조)�¼ë�
+ �¬ì�©í�� �� ���µë����. �´ê��¤ì��
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+ <em>Substitution</em> 매ê�ë³��� ����
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>��
+ <em>TestString</em> 매ê�ë³���ë¥� ���±í���� �� �¬ì�©í�� ��
+ ���µë����.</p>
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ �¨í�´ì�� 캡ì��� (ì§�ê´��� ë°�����) 모ë�� ����
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+ ì§����´ì���� �¬ì�©í�� �� ���µë����.
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ �������� �� 조건보� 먼� ������ ��문�����.</p>
+
+ <p>그림 1�� ��참조ê°� ���¥ì�� ���� ���¬ë���� ��ì¹���
+ RewriteRule, RewriteCond 매�� ����� 보�����.
+ �¤ì�� �¥ì���� �´ë�¬í�� ��참조ë¥� �¬ì�©í���� ë°©ë��� ��구í��
+ ê²��´ë��ë¡�, ì²����� �¤ì�� ������ê²� ��ê»´ì�¸ë�� ê±±ì����ì§�
+ �������.
+ </p>
+
+<p class="figure">
+ <img src="../images/rewrite_backreferences.png" alt="RewriteRule� RewriteCond 매�� ���" /><br />
+ <dfn>그림 1:</dfn> ê·�ì¹��� �µí�� ��참조 ��ë¦�.<br />
+ �� �������� <code>/test/1234</code>�� ���� ��ì²��� <code>/admin.foo?page=test&id=1234&host=admin.example.com</code>�¼ë� ë³����©ë����.
+</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewriterule" id="rewriterule">RewriteRule 기본</a> <a title="Permanent link" href="#rewriterule" class="permalink">¶</a></h2>
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+공백�¼ë� 구ë��� �� ê°��� �¸ì��ë¡� 구ì�±ë�©ë����. �¸ì���� �¤ì��ê³�
+ê°��µë����:</p>
+<ol>
+<li><var>Pattern</var>: ê·�ì¹��� ���¥ì�� ë°��� �¤ì�´ì�¤ë�� URL;</li>
+<li><var>Substitution</var>: �¼ì����� ��ì²��� ���¡ë���´ì�� �� ê³�;</li>
+<li><var>[flags]</var>: �¬ì���±ë�� ��ì²��� ���¥ì�� 미ì��� �µì��.</li>
+</ol>
+
+<p><var>Pattern</var>�� <a href="#regex">��� ������</a>������.
+ì²�������(ì²� ë²�ì§� �¬ì���� ê·�ì¹��´ê±°�� ì¹����� ë°�����ê¸� ��ê¹�ì§�)
+�¤ì�´ì�¤ë�� ��ì²��� URL ê²½ë�(�¸ì�¤í�¸ë� �¤ë��� 쿼리 문ì���´ì��
+������ �����´ë�� 물ì���� ��ê¹�ì§��� ë¶�ë¶�) ���� ������리ë�
+컨í���¤í�¸ì������ ê·�ì¹��� ������ ������리ì�� �������� ��ì²�
+ê²½ë��� ë¹�êµ��©ë����. ì¹����� ë°�����ë©� �´í���� ê·�ì¹��� ì¹�����
+ê°�ê³� ë¹�êµ��©ë����.
+</p>
+
+<p class="figure">
+ <img src="../images/syntax_rewriterule.png" alt="RewriteRule ì§����´ì�� 구문" /><br />
+ <dfn>그림 2:</dfn> RewriteRule ì§����´ì�� 구문.
+</p>
+
+
+<p><var>Substitution</var>�� ��ì²´ì���¼ë� �¤ì�� �� ê°�ì§� ì¤�
+������ �� ���µë����:</p>
+
+<dl>
+<dt>1. ������ ���� ��ì²� ���� ���¤í�� ê²½ë�</dt>
+<dd>
+<pre class="prettyprint lang-config">RewriteRule "^/games" "/usr/local/games/web/puzzles.html"</pre>
+
+<p>�´ê��� <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>
+ì§����´ì�� ë§�ì°¬ê�ì§�ë¡� ��ì²��� ���� ���¤í���� ������ ��ì¹���
+매í���©ë����.</p>
+</dd>
+
+<dt>2. ������ ���� �� ê²½ë�</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>ë¡� �¤ì���� ê²½ì�� ��
+ì§����´ë�� <code>http://example.com/games</code>�� ���� ��ì²���
+<code>/usr/local/apache2/htdocs/puzzles.html</code> ê²½ë�ë¡�
+매í���©ë����.</p>
+
+</dd>
+
+<dt>3. ���� URL</dt>
+<dd>
+<pre class="prettyprint lang-config">RewriteRule "^/product/view$" "http://site2.example.com/seeproduct.html" [R]</pre>
+
+<p>�´ê��� �´ë�¼ì�´ì�¸í�¸ì��ê²� ì§����� URL�� ���� �� ��ì²��� ����ë¡�
+ì§����©ë����.</p>
+</dd>
+</dl>
+
+<div class="warning"><strong>1</strong>ê³� <strong>2</strong>�� ������ ���¼í�� 구문�� ê°�ì§�����. ì°¨ì�´ì���� <strong>1</strong>�� ê²½ì�� ���� ê²½ë��� ìµ����� ��ì¤�(ì¦�, <code>/usr/</code>)�� ���� ���¤í���� ì¡´ì�¬í���� ë°�ë©�, <strong>2</strong>�� ê²½ì�� ì¡´ì�¬í��ì§� �����¤ë�� ê²�������. (ì¦�, ���� ���¤í���� <code>/bar/</code>�¼ë�� 루í�� ��ì¤� ������리ê� ���µë����.)</div>
+
+<p><var>Substitution</var>�� <var>Pattern</var>�� ����
+�¼ì��� �¤ì�´ì�¤ë�� URL ê²½ë��� ë¶�ë¶��� ����
+<em>��참조</em>ë¥� �¬í�¨í�� ���� ���µë����. �¤ì����
+ê³��¤í��������:</p>
+<pre class="prettyprint lang-config">RewriteRule "^/product/(.*)/view$" "/var/web/productdb/$1"</pre>
+
+<p>��� <code>$1</code>�� <var>Pattern</var>�� ��� ����
+�������� ���� �¼ì��� ���¤í�¸ë� ��ì²´ë�©ë����. ��ë¥� �¤ì��,
+<code>http://example.com/product/r14df/view</code>�� ����
+����� <code>/var/web/productdb/r14df</code> 경��
+매í���©ë����.</p>
+
+<p>ê´��� ���� �������� �� �´ì���� ê²½ì�� ë³���
+<code>$1</code>, <code>$2</code>, <code>$3</code> �±ì��
+����ë¡� �¬ì�©í�� �� ���µë����.</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flags" id="flags">�¬ì���� ����ê·�</a> <a title="Permanent link" href="#flags" class="permalink">¶</a></h2>
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+������ ê·�ì¹� ���� ���� �´ì���� ����ê·¸ë�� ���©í���� ������ ��
+���µë����. ��ë¥� �¤ì��, ê·�ì¹��� ë§¤ì¹ ������ <code>[NC]</code>
+����ê·¸ë�� ���©í���� ����문ì��ë¥� 구ë���ì§� ����ë¡� ë§��� ��
+���µë����:
+</p>
+<pre class="prettyprint lang-config">RewriteRule "^puppy.html" "smalldog.html" [NC]</pre>
+
+
+<p>�¬ì�� ê°��¥í�� ����ê·�, ê·� ��ë¯� ë°� ������ ���� ���¸í��
+�´ì�©ì�� <a href="flags.html">�¬ì���� ����ê·�</a> 문ì��ë¥�
+참조��������.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewritecond" id="rewritecond">�¬ì���� ì¡°ê±´</a> <a title="Permanent link" href="#rewritecond" class="permalink">¶</a></h2>
+<p>���� �´ì���� <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+ì§����´ë�� �¬ì�©í���� �¤ì��
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>�� ������
+���� ��ì²� ������ ������ �� ���µë����. ì²� ë²�ì§� �¸ì���� ��ì²���
+�¹ì�±ì�� �¤ë����� ë³����´ê�, �� ë²�ì§� �¸ì���� ë³����� �¼ì��´ì�� ����
+<a href="#regex">��ê·� ������</a>�´ë©°, �� ë²�ì§� ������ �¸ì����
+�¼ì� ��ê°� ë°©ì���� �������� ����ê·� 목ë�������.</p>
+
+<p class="figure">
+ <img src="../images/syntax_rewritecond.png" alt="RewriteCond ì§����´ì�� 구문" /><br />
+ <dfn>그림 3:</dfn> RewriteCond ì§����´ì�� 구문
+</p>
+
+<p>��ë¥� �¤ì��, �¹ì�� IP ë²����� 모ë�� ��ì²��� �¤ë¥¸ ��ë²�ë¡�
+ë³´ë�´ë�¤ë©´ �¤ì���� �¬ì�©í�� �� ���µë����:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{REMOTE_ADDR}" "^10\.2\."
+RewriteRule "(.*)" "http://intranet.example.com$1"</pre>
+
+
+<p>�� �´ì���� <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>ê°�
+����� 경� <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+���©ë���¤ë©´ 모ë�� ì¡°ê±´�� �¼ì��´ì�� �©ë����. ��ë¥� �¤ì��, 쿼리
+문ì���´ì�� "hack"�´ë�¼ë�� �¨ì�´ê� �¬í�¨ë�� ��ì²��� ê±°ë�����, "go"�¼ë��
+�¨ì�´ê� �¬í�¨ë�� ì¿��¤ê� ���� ê²½ì�°ë�� ���¸í���¤ë©´ �¤ì���� �¬ì�©í�� ��
+���µë����:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{QUERY_STRING}" "hack"
+RewriteCond "%{HTTP_COOKIE}" !go
+RewriteRule "." "-" [F]</pre>
+
+<p>�������� ë¶��� �¼ì�ë¥� ì§�����ë¯�ë¡�, ì¿��¤ì�� "go"ê°� �¬í�¨ë��ì§�
+���� ê²½ì�°ì��ë§� ê·�ì¹��� ���©ë�©ë����.</p>
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>��
+�¬í�¨ë�� ��ê·� �������� �¼ì��� ë³��� <code>%1</code>,
+<code>%2</code> �±ì�� �¬ì�©í����
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+<var>Substitution</var>�� �¼ë�ë¡� �¬ì�©í�� �� ���µë����.
+��ë¥� �¤ì��, �¬ì�´í�¸ì�� ��ê·¼í���� �� �¬ì�©ë�� �¸ì�¤í�¸ë��� �°ë��
+��ì²��� �¤ë¥¸ ������리ë� ë³´ë�´ë�� �¤ì��ê³� ê°��µë����:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "(.*)"
+RewriteRule "^/(.*)" "/sites/%1/$1"</pre>
+
+<p><code>http://example.com/foo/bar</code>�� ���� ��ì²��´ë©´
+<code>%1</code>�� <code>example.com</code>�� �¬í�¨í��ê³�
+<code>$1</code>�� <code>foo/bar</code>ë¥� �¬í�¨í�©ë����.</p>
+
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewritemap" id="rewritemap">�¬ì���� ë§�</a> <a title="Permanent link" href="#rewritemap" class="permalink">¶</a></h2>
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> ì§����´ë��
+�¬ì���±ì�� ������ �¸ë� �¨ì��ë¥� �¸ì����� ë°©ë��� ��ê³µí�©ë����.
+�´ì�� ���� ���¸í�� �´ì�©ì�� <a href="rewritemap.html">RewriteMap
+ë³´ì¶© 문ì��</a>���� �¼ì���©ë����.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="htaccess" id="htaccess">.htaccess ����</a> <a title="Permanent link" href="#htaccess" class="permalink">¶</a></h2>
+
+<p>�¬ì���±ì�� �¼ë����¼ë� ì£� ��ë²� �¤ì��(
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+�¹ì�� �¸ë�)���� ����
+<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
+컨í���´ë�� �´ì���� 구ì�±ë�©ë����. �´ê��� �¬ì���±ì�� �������� ê°���
+�¬ì�� ë°©ë��´ë©° ê¶��¥ë�©ë����. ê·¸ë�¬ë�� �½ê��� ì¶�ê°� ë³µì�¡ì�±ì��
+������
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+�¹ì���´ë�� <a href="../howto/htaccess.html"><code>.htaccess</code>
+����</a>������ �¬ì���±ì�� ������ �� ���µë����. �� 기ì����
+������리ë� �¬ì���±ì�´ë�¼ê� �©ë����.</p>
+
+<p>��ë²�ë³� �¬ì���±ê³¼�� 주ì�� ì°¨ì�´ì���� <code>.htaccess</code>
+���¼ì�� �¬í�¨ë�� ������리ì�� ê²½ë� �����¬ê�
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>����
+매ì¹��ê¸� ���� ��ê±°ë���¤ë�� ê²�������. ����
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>�
+�¬ì�©í���� ��ì²��� �¬ë�르ê� 매í������ë¡� �´ì�� �©ë����.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </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" title="Korean"> ko </a> |
+<a href="../tr/rewrite/intro.html" hreflang="tr" rel="alternate" 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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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>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" type="text/javascript">
+</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></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="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.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite'a Giriş</h1>
+<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>
+
+<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><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="introduction" id="introduction">Giriş</a> <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><a name="regex" id="regex">Düzenli İfadeler</a> <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><a name="regexvocab" id="regexvocab">Düzenli ifade sözvarlığı</a></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><a name="InternalBackRefs" id="InternalBackRefs">Düzenli İfade Geri Başvuru
+Kullanılabilirliği</a></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><a name="rewriterule" id="rewriterule">RewriteRule Temelleri</a> <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><a name="flags" id="flags">Yeniden Yazma Bayrakları</a> <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><a name="rewritecond" id="rewritecond">Yeniden Yazma Koşulları</a> <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><a name="rewritemap" id="rewritemap">Yeniden yazma eşlemleri</a> <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><a name="htaccess" id="htaccess">.htaccess dosyaları</a> <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="http://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></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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="zh-cn" xml:lang="zh-cn"><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>Apache mod_rewrite 简介 - Apache HTTP 服务器 版本 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP 服务器版本 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP 服务器</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../">版本 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite 简介</h1>
+<div class="toplang">
+<p><span>可用语言: </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" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/intro.html" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+<p>本文档是 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">参考文档</a>的补充。它描述了使用
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 所需的基本概念。
+其他文档会更详细地介绍,但本文档应该能帮助初学者入门。
+</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">介绍</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#regex">正则表达式</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewriterule">RewriteRule 基础</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flags">重写标志</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritecond">重写条件</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritemap">重写映射</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#htaccess">.htaccess 文件</a></li>
+</ul><h3>参见</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">模块文档</a></li><li><a href="remapping.html">重定向和重映射</a></li><li><a href="access.html">访问控制</a></li><li><a href="vhosts.html">虚拟主机</a></li><li><a href="proxy.html">代理</a></li><li><a href="rewritemap.html">使用 RewriteMap</a></li><li><a href="advanced.html">高级技术</a></li><li><a href="avoid.html">何时不使用 mod_rewrite</a></li><li><a href="#comments_section">评论</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="introduction" id="introduction">介绍</a> <a title="Permanent link" href="#introduction" class="permalink">¶</a></h2>
+<p>Apache 模块 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 是一个非常强大且复杂的模块,
+它提供了进行 URL 操作的方法。使用它,你几乎可以完成所有类型的 URL 重写。
+然而,它有一定的复杂性,可能会令初学者望而生畏。
+还有一种倾向是将重写规则视为魔法咒语,在不真正理解其作用的情况下使用它们。</p>
+
+<p>本文档试图提供足够的背景知识,使接下来的内容被理解,
+而不仅仅是盲目复制。
+</p>
+
+<p>请记住,许多常见的 URL 操作任务不需要 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+的全部功能和复杂性。对于简单任务,请参阅 <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>
+和关于<a href="../urlmapping.html">将 URL 映射到文件系统</a>的文档。</p>
+
+<p>最后,在继续之前,请务必使用
+<code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code>
+指令将 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 的日志级别配置为 trace 级别之一。
+虽然这可能会产生大量信息,但在调试 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+配置问题时它是不可或缺的,因为它会告诉你每条规则是如何被处理的。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="regex" id="regex">正则表达式</a> <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
+兼容正则表达式</a>词汇。在本文档中,我们不试图提供正则表达式的详细参考。
+为此,我们推荐 <a href="http://pcre.org/pcre.txt">PCRE 手册页</a>、
+<a href="http://perldoc.perl.org/perlre.html">Perl 正则表达式手册页</a>
+以及 <a href="https://www.oreilly.com/library/view/mastering-regular-expressions/0596528124/">Jeffrey
+Friedl 的《精通正则表达式》</a>(第三版出版于 2006 年,
+但正则表达式语法基本没有变化,它仍然是该主题的权威参考)。</p>
+
+<p>在本文档中,我们试图提供足够的正则表达式词汇来帮助你入门,
+而不会让你感到不知所措,希望
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+是科学公式,而不是魔法咒语。</p>
+
+<h3><a name="regexvocab" id="regexvocab">正则表达式词汇</a></h3>
+
+<p>以下是编写正则表达式和
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+所需的最基本构建块。它们当然不代表完整的正则表达式词汇,
+但它们是一个好的起点,应该能帮助你阅读基本的正则表达式并编写自己的正则表达式。</p>
+
+<table>
+<tr>
+<th>字符</th>
+<th>含义</th>
+<th>示例</th>
+</tr>
+
+<tr>
+ <td><code>.</code></td>
+ <td>匹配任意单个字符</td>
+ <td><code>c.t</code> 将匹配 <code>cat</code>、<code>cot</code>、
+ <code>cut</code> 等</td>
+</tr>
+<tr>
+ <td><code>+</code></td>
+ <td>重复前一个匹配一次或多次</td>
+ <td><code>a+</code> 匹配 <code>a</code>、<code>aa</code>、
+ <code>aaa</code> 等</td>
+</tr>
+<tr>
+ <td><code>*</code></td>
+ <td>重复前一个匹配零次或多次</td>
+ <td><code>a*</code> 匹配 <code>a+</code> 匹配的所有内容,
+ 但也会匹配空字符串</td>
+</tr>
+<tr>
+ <td><code>?</code></td>
+ <td>使匹配变为可选</td>
+ <td><code>colou?r</code> 将匹配 <code>color</code> 和
+ <code>colour</code></td>
+</tr>
+<tr>
+ <td><code>\</code></td>
+ <td>转义下一个字符</td>
+ <td><code>\.</code> 将匹配 <code>.</code>(点)而不是如上所述的
+ <em>任意单个字符</em></td>
+</tr>
+<tr>
+ <td><code>^</code></td>
+ <td>称为锚点,匹配字符串的开头</td>
+ <td><code>^a</code> 匹配以 <code>a</code> 开头的字符串</td>
+</tr>
+<tr>
+ <td><code>$</code></td>
+ <td>另一个锚点,匹配字符串的结尾</td>
+ <td><code>a$</code> 匹配以 <code>a</code> 结尾的字符串</td>
+</tr>
+<tr>
+ <td><code>( )</code></td>
+ <td>将多个字符组合为一个单元,并捕获匹配以用于反向引用</td>
+ <td><code>(ab)+</code> 匹配 <code>ababab</code>——即
+ <code>+</code> 应用于整个组。关于反向引用的更多信息见
+ <a href="#InternalBackRefs">下文</a></td>
+</tr>
+<tr>
+ <td><code>[ ]</code></td>
+ <td>字符类——匹配其中一个字符</td>
+ <td><code>c[uoa]t</code> 匹配 <code>cut</code>、<code>cot</code> 或
+ <code>cat</code></td>
+</tr>
+<tr>
+ <td><code>[^ ]</code></td>
+ <td>否定字符类——匹配未指定的任意字符</td>
+ <td><code>c[^/]t</code> 匹配 <code>cat</code> 或 <code>c=t</code>
+ 但不匹配 <code>c/t</code></td></tr>
+</table>
+
+<p>在 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 中,<code>!</code>
+字符可以在正则表达式前使用来否定它。也就是说,
+只有当字符串不匹配表达式的其余部分时,才认为匹配成功。</p>
+
+
+
+<h3><a name="InternalBackRefs" id="InternalBackRefs">正则表达式反向引用的可用性</a></h3>
+
+ <p>这里有一个重要的事情要记住:每当你在<em>模式</em>或某个
+ <em>CondPattern</em> 中使用括号时,都会在内部创建反向引用,
+ 可以使用字符串 <code>$N</code> 和 <code>%N</code>(见下文)来引用。
+ 这些可用于创建
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 的
+ <em>替换</em>参数或
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> 的
+ <em>TestString</em> 参数。</p>
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ 模式中的捕获(看似违反直觉地)可供所有前面的
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> 指令使用,
+ 因为 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ 表达式在各个条件之前就已被求值。</p>
+
+ <p>图 1 显示了反向引用被传递到哪些位置进行展开,
+ 并说明了 RewriteRule 和 RewriteCond 匹配的流程。
+ 在接下来的章节中,我们将探索如何使用这些反向引用,
+ 所以如果你一开始觉得有些陌生,不必担心。
+ </p>
+
+<p class="figure">
+ <img src="../images/rewrite_backreferences.png" alt="RewriteRule 和 RewriteCond 匹配流程" /><br />
+ <dfn>图 1:</dfn>反向引用在规则中的流向。<br />
+ 在此示例中,对 <code>/test/1234</code> 的请求将被转换为 <code>/admin.foo?page=test&id=1234&host=admin.example.com</code>。
+</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewriterule" id="rewriterule">RewriteRule 基础</a> <a title="Permanent link" href="#rewriterule" class="permalink">¶</a></h2>
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+由三个以空格分隔的参数组成。这些参数是:</p>
+<ol>
+<li><var>Pattern</var>:哪些传入的 URL 应受此规则影响;</li>
+<li><var>Substitution</var>:匹配的请求应被发送到哪里;</li>
+<li><var>[flags]</var>:影响重写请求的选项。</li>
+</ol>
+
+<p><var>Pattern</var> 是一个<a href="#regex">正则表达式</a>。
+它最初(对于第一条重写规则或直到发生替换为止)与传入请求的 URL 路径
+(主机名之后但问号之前的部分,问号表示查询字符串的开始)进行匹配,
+或者在目录级上下文中与请求相对于定义规则的目录的路径进行匹配。
+一旦发生替换,后续规则将与替换后的值进行匹配。
+</p>
+
+<p class="figure">
+ <img src="../images/syntax_rewriterule.png" alt="RewriteRule 指令的语法" /><br />
+ <dfn>图 2:</dfn>RewriteRule 指令的语法。
+</p>
+
+
+<p><var>Substitution</var> 本身可以是以下三种之一:</p>
+
+<dl>
+<dt>1. 资源的完整文件系统路径</dt>
+<dd>
+<pre class="prettyprint lang-config">RewriteRule "^/games" "/usr/local/games/web/puzzles.html"</pre>
+
+<p>这将请求映射到文件系统上的任意位置,
+类似于 <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> 指令。</p>
+</dd>
+
+<dt>2. 资源的 Web 路径</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>,则此指令会将对
+<code>http://example.com/games</code> 的请求映射到路径
+<code>/usr/local/apache2/htdocs/puzzles.html</code>。</p>
+
+</dd>
+
+<dt>3. 绝对 URL</dt>
+<dd>
+<pre class="prettyprint lang-config">RewriteRule "^/product/view$" "http://site2.example.com/seeproduct.html" [R]</pre>
+
+<p>这告诉客户端对指定 URL 发出新的请求。</p>
+</dd>
+</dl>
+
+<div class="warning">请注意 <strong>1</strong> 和 <strong>2</strong>
+的语法完全相同。它们之间的区别在于,对于 <strong>1</strong>,
+目标路径的顶层(即 <code>/usr/</code>)存在于文件系统上,
+而对于 <strong>2</strong>,它不存在。
+(即文件系统中没有 <code>/bar/</code> 作为根级目录。)</div>
+
+<p><var>Substitution</var> 还可以包含对传入 URL 路径中由
+<var>Pattern</var> 匹配的部分的<em>反向引用</em>。
+请看以下示例:</p>
+<pre class="prettyprint lang-config">RewriteRule "^/product/(.*)/view$" "/var/web/productdb/$1"</pre>
+
+<p>变量 <code>$1</code> 将被替换为 <var>Pattern</var>
+中括号内的表达式所匹配的任何文本。例如,对
+<code>http://example.com/product/r14df/view</code> 的请求将被映射到路径
+<code>/var/web/productdb/r14df</code>。</p>
+
+<p>如果括号中有多个表达式,它们将按顺序出现在变量
+<code>$1</code>、<code>$2</code>、<code>$3</code> 等中。</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flags" id="flags">重写标志</a> <a title="Permanent link" href="#flags" class="permalink">¶</a></h2>
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+的行为可以通过在规则末尾应用一个或多个标志来修改。
+例如,可以通过应用 <code>[NC]</code>
+标志使规则的匹配行为不区分大小写:
+</p>
+<pre class="prettyprint lang-config">RewriteRule "^puppy.html" "smalldog.html" [NC]</pre>
+
+
+<p>有关可用标志、其含义和示例的更多详细信息,
+请参阅<a href="flags.html">重写标志</a>文档。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewritecond" id="rewritecond">重写条件</a> <a title="Permanent link" href="#rewritecond" class="permalink">¶</a></h2>
+<p>一个或多个 <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+指令可用于限制将受后续
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 影响的请求类型。
+第一个参数是描述请求特征的变量,
+第二个参数是必须匹配该变量的<a href="#regex">正则表达式</a>,
+第三个可选参数是修改匹配评估方式的标志列表。</p>
+
+<p class="figure">
+ <img src="../images/syntax_rewritecond.png" alt="RewriteCond 指令的语法" /><br />
+ <dfn>图 3:</dfn>RewriteCond 指令的语法
+</p>
+
+<p>例如,要将来自特定 IP 范围的所有请求发送到不同的服务器,
+你可以使用:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{REMOTE_ADDR}" "^10\.2\."
+RewriteRule "(.*)" "http://intranet.example.com$1"</pre>
+
+
+<p>当指定了多个 <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> 时,
+它们必须全部匹配才能应用
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>。
+例如,要拒绝查询字符串中包含"hack"一词的请求,
+除非它们还包含含有"go"一词的 cookie,你可以使用:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{QUERY_STRING}" "hack"
+RewriteCond "%{HTTP_COOKIE}" !go
+RewriteRule "." "-" [F]</pre>
+
+<p>请注意,感叹号指定否定匹配,
+因此只有当 cookie 不包含"go"时才应用该规则。</p>
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+中正则表达式的匹配结果可以作为
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 中
+<var>Substitution</var> 的一部分,使用变量 <code>%1</code>、
+<code>%2</code> 等。例如,这将根据用于访问站点的主机名
+将请求定向到不同的目录:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "(.*)"
+RewriteRule "^/(.*)" "/sites/%1/$1"</pre>
+
+<p>如果请求是 <code>http://example.com/foo/bar</code>,
+则 <code>%1</code> 将包含 <code>example.com</code>,
+<code>$1</code> 将包含 <code>foo/bar</code>。</p>
+
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewritemap" id="rewritemap">重写映射</a> <a title="Permanent link" href="#rewritemap" class="permalink">¶</a></h2>
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+指令提供了一种调用外部函数来为你执行重写的方法。
+这在 <a href="rewritemap.html">RewriteMap 补充文档</a>中有更详细的讨论。</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="htaccess" id="htaccess">.htaccess 文件</a> <a title="Permanent link" href="#htaccess" class="permalink">¶</a></h2>
+
+<p>重写通常在主服务器配置中(在任何
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+配置段之外)或在
+<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
+容器中配置。这是执行重写的最简单方式,也是推荐的方式。
+但是,也可以在
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+配置段或 <a href="../howto/htaccess.html"><code>.htaccess</code>
+文件</a>中执行重写,但会增加一些额外的复杂性。
+这种技术称为目录级重写。</p>
+
+<p>与服务器级重写的主要区别在于,
+包含 <code>.htaccess</code> 文件的目录路径前缀在
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+中匹配之前会被去除。此外,应使用
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>
+来确保请求被正确映射。</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>可用语言: </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" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/intro.html" title="Simplified Chinese"> zh-cn </a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2026 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许可证.</p>
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<variant>de</variant>
<variant>en</variant>
<variant>es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant>ja</variant>
<variant>ko</variant>
<variant>tr</variant>
# GENERATED FROM XML -- DO NOT EDIT
+URI: proxy.html.de
+Content-Language: de
+Content-type: text/html; charset=ISO-8859-1
+
URI: proxy.html.en.utf8
Content-Language: en
Content-type: text/html; charset=UTF-8
+URI: proxy.html.es.utf8
+Content-Language: es
+Content-type: text/html; charset=UTF-8
+
URI: proxy.html.fr.utf8
Content-Language: fr
Content-type: text/html; charset=UTF-8
+
+URI: proxy.html.ja.utf8
+Content-Language: ja
+Content-type: text/html; charset=UTF-8
+
+URI: proxy.html.ko.euc-kr
+Content-Language: ko
+Content-type: text/html; charset=EUC-KR
+
+URI: proxy.html.tr.utf8
+Content-Language: tr
+Content-type: text/html; charset=UTF-8
+
+URI: proxy.html.zh-cn.utf8
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!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="de" xml:lang="de"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Verwendung von mod_rewrite für Proxying - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Verwendung von mod_rewrite für Proxying</h1>
+<div class="toplang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/proxy.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>Dieses Dokument ergänzt die <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">Referenzdokumentation</a>. Es beschreibt,
+wie man das [P]-Flag der RewriteRule verwendet, um Inhalte an einen anderen
+Server weiterzuleiten. Es werden verschiedene Rezepte bereitgestellt, die
+gängige Szenarien beschreiben.</p>
+
+</div>
+<div id="quickview"><h3>Siehe auch</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Moduldokumentation</a></li><li><a href="intro.html">Einführung in mod_rewrite</a></li><li><a href="remapping.html">Umleitung und Neuzuordnung</a></li><li><a href="access.html">Zugriffskontrolle</a></li><li><a href="vhosts.html">Virtuelle Hosts</a></li><li><a href="rewritemap.html">Verwendung von RewriteMap</a></li><li><a href="advanced.html">Fortgeschrittene Techniken</a></li><li><a href="avoid.html">Wann man mod_rewrite nicht verwenden sollte</a></li><li><a href="#comments_section">Kommentare</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="dynamic-proxy" id="dynamic-proxy">Proxying von Inhalten mit mod_rewrite</a> <a title="Permanent link" href="#dynamic-proxy" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> bietet das [P]-Flag, mit dem URLs über
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> an einen anderen Server weitergeleitet werden
+ können. Hier werden zwei Beispiele gegeben. In einem Beispiel wird eine
+ URL direkt an einen anderen Server weitergeleitet und so ausgeliefert,
+ als wäre sie eine lokale URL. Im anderen Beispiel leiten wir fehlende
+ Inhalte an einen Backend-Server weiter.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Um eine URL einfach einem anderen Server zuzuordnen, verwenden
+ wir das [P]-Flag wie folgt:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteBase "/products/"
+RewriteRule "^widget/(.*)$" "http://product.example.com/widget/$1" [P]
+ProxyPassReverse "/products/widget/" "http://product.example.com/widget/"</pre>
+
+
+ <p>Im zweiten Beispiel leiten wir die Anfrage nur weiter, wenn wir
+ die Ressource nicht lokal finden können. Dies kann sehr nützlich sein,
+ wenn Sie von einem Server zu einem anderen migrieren und sich nicht
+ sicher sind, ob alle Inhalte bereits migriert wurden.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+RewriteRule "^/(.*)" "http://old.example.com/$1" [P]
+ProxyPassReverse "/" "http://old.example.com/"</pre>
+
+ </dd>
+
+ <dt>Diskussion:</dt>
+
+ <dd><p>In jedem Fall fügen wir eine <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code>-Direktive hinzu, um
+ sicherzustellen, dass alle vom Backend ausgegebenen Umleitungen
+ korrekt an den Client weitergeleitet werden.</p>
+
+ <p>Erwägen Sie, wann immer möglich, <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> oder <code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code> anstelle von
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> zu verwenden.</p>
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/proxy.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.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 />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Using mod_rewrite for Proxying</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/proxy.html" title="English"> en </a> |
-<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/proxy.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
</div></div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/proxy.html" title="English"> en </a> |
-<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/proxy.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="es" xml:lang="es"><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>Uso de mod_rewrite para Proxy - Servidor HTTP Apache Versión 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p>
+<p class="apache">Versión 2.5 del Servidor HTTP Apache</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/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Uso de mod_rewrite para Proxy</h1>
+<div class="toplang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/proxy.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>Este documento complementa la <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">documentación de referencia</a>. Describe
+cómo usar la bandera [P] de RewriteRule para hacer proxy de contenido a otro servidor.
+Se proporcionan varias recetas que describen escenarios comunes.</p>
+
+</div>
+<div id="quickview"><h3>Consulte también</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentación del módulo</a></li><li><a href="intro.html">Introducción a mod_rewrite</a></li><li><a href="remapping.html">Redirección y remapeo</a></li><li><a href="access.html">Control de acceso</a></li><li><a href="vhosts.html">Hosts virtuales</a></li><li><a href="rewritemap.html">Uso de RewriteMap</a></li><li><a href="advanced.html">Técnicas avanzadas</a></li><li><a href="avoid.html">Cuándo no usar mod_rewrite</a></li><li><a href="#comments_section">Comentarios</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="dynamic-proxy" id="dynamic-proxy">Hacer proxy de contenido con mod_rewrite</a> <a title="Enlace permanente" href="#dynamic-proxy" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> proporciona la bandera [P], que permite pasar URLs,
+ a través de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, a otro servidor. Aquí se dan dos ejemplos. En
+ un ejemplo, una URL se pasa directamente a otro servidor, y se sirve
+ como si fuera una URL local. En el otro ejemplo, hacemos proxy del
+ contenido faltante a un servidor backend.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Para simplemente mapear una URL a otro servidor, usamos la bandera [P], de la
+ siguiente manera:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteBase "/products/"
+RewriteRule "^widget/(.*)$" "http://product.example.com/widget/$1" [P]
+ProxyPassReverse "/products/widget/" "http://product.example.com/widget/"</pre>
+
+
+ <p>En el segundo ejemplo, hacemos proxy de la solicitud solo si no podemos encontrar
+ el recurso localmente. Esto puede ser muy útil cuando está migrando
+ de un servidor a otro, y no está seguro de si todo el contenido
+ ha sido migrado todavía.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+RewriteRule "^/(.*)" "http://old.example.com/$1" [P]
+ProxyPassReverse "/" "http://old.example.com/"</pre>
+
+ </dd>
+
+ <dt>Discusión:</dt>
+
+ <dd><p>En cada caso, añadimos una directiva <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> para asegurar
+ que cualquier redirección emitida por el backend se pase correctamente al
+ cliente.</p>
+
+ <p>Considere usar <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> o <code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code> siempre que sea posible en
+ preferencia a <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/proxy.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.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 />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Utilisation de mod_rewrite comme mandataire</h1>
<div class="toplang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/proxy.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/proxy.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
</div></div>
<div class="bottomlang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/proxy.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/proxy.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.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 />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="ja" xml:lang="ja"><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>mod_rewrite によるプロキシ - Apache HTTP サーバ バージョン 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
+<p class="apache">Apache HTTP サーバ バージョン 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite によるプロキシ</h1>
+<div class="toplang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/proxy.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>このドキュメントは <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">リファレンスドキュメント</a>を補足するものです。
+RewriteRule の [P] フラグを使用して他のサーバにコンテンツをプロキシする方法を
+説明します。一般的なシナリオを説明するレシピがいくつか提供されています。</p>
+
+</div>
+<div id="quickview"><h3>参照</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">モジュールドキュメント</a></li><li><a href="intro.html">mod_rewrite 入門</a></li><li><a href="remapping.html">リダイレクトとリマッピング</a></li><li><a href="access.html">アクセス制御</a></li><li><a href="vhosts.html">バーチャルホスト</a></li><li><a href="rewritemap.html">RewriteMap の使用</a></li><li><a href="advanced.html">高度なテクニック</a></li><li><a href="avoid.html">mod_rewrite を使わない場合</a></li><li><a href="#comments_section">コメント</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="dynamic-proxy" id="dynamic-proxy">mod_rewrite によるコンテンツのプロキシ</a> <a title="Permanent link" href="#dynamic-proxy" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> は [P] フラグを提供しており、URL を
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> 経由で他のサーバに渡すことができます。ここでは
+ 2 つの例を示します。1 つ目の例では、URL を直接別のサーバに渡し、
+ ローカル URL であるかのように提供します。もう 1 つの例では、
+ 見つからないコンテンツをバックエンドサーバにプロキシします。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>単純に URL を別のサーバにマッピングするには、次のように
+ [P] フラグを使用します:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteBase "/products/"
+RewriteRule "^widget/(.*)$" "http://product.example.com/widget/$1" [P]
+ProxyPassReverse "/products/widget/" "http://product.example.com/widget/"</pre>
+
+
+ <p>2 つ目の例では、リソースがローカルに見つからない場合にのみ
+ リクエストをプロキシします。これは、あるサーバから別のサーバに
+ 移行中で、すべてのコンテンツが移行済みかどうかわからない場合に
+ 非常に便利です。</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+RewriteRule "^/(.*)" "http://old.example.com/$1" [P]
+ProxyPassReverse "/" "http://old.example.com/"</pre>
+
+ </dd>
+
+ <dt>議論:</dt>
+
+ <dd><p>どちらの場合も、バックエンドから発行されるリダイレクトが
+ 正しくクライアントに渡されるように <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> ディレクティブを
+ 追加しています。</p>
+
+ <p>可能な限り <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> よりも <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> や <code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code> の使用を検討してください。</p>
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/proxy.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.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="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="EUC-KR"?>
+<!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="ko" xml:lang="ko"><head>
+<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>��ë¡���ë¥� ���� mod_rewrite �¬ì�� - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>��ë¡���ë¥� ���� mod_rewrite �¬ì��</h1>
+<div class="toplang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/proxy.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>�� 문��� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">참조 문ì��</a>ë¥� ë³´ì¶©�©ë����.
+RewriteRule�� [P] ����ê·¸ë�� �¬ì�©í���� �¤ë¥¸ ��ë²�ë¡� ì½���ì¸�ë¥�
+��ë¡������� ë°©ë��� �¤ë��©ë����. �¼ë����� ����리ì�¤ë�� �¤ë�����
+�¬ë�� �����¼ê� ��ê³µë�©ë����.</p>
+
+</div>
+<div id="quickview"><h3>Âü°í</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">모ë�� 문ì��</a></li><li><a href="intro.html">mod_rewrite ��ê°�</a></li><li><a href="remapping.html">리ë�¤ì�´ë����ê³� �¬ë§¤��</a></li><li><a href="access.html">��ê·� ����</a></li><li><a href="vhosts.html">ê°��� �¸ì�¤í��</a></li><li><a href="rewritemap.html">RewriteMap �¬ì�©í��ê¸�</a></li><li><a href="advanced.html">ê³�ê¸� 기ì��</a></li><li><a href="avoid.html">mod_rewriteë¥� �¬ì�©í��ì§� ë§����� �� ê²½ì��</a></li><li><a href="#comments_section">Comments</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="dynamic-proxy" id="dynamic-proxy">mod_rewriteë¥� �¬ì�©í�� ì½���ì¸� ��ë¡���</a> <a title="Permanent link" href="#dynamic-proxy" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� [P] ����그� ��공���
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>ë¥� �µí�� URL�� �¤ë¥¸ ��ë²�ë¡�
+ ���¬í�� �� ��ê²� �©ë����. �¬ê¸°�� �� ê°�ì§� ����ê°� ���µë����.
+ �� ���������� URL�� �¤ë¥¸ ��ë²�ë¡� ì§��� ���¬ë���� ë¡�ì»�
+ URL�� ê²�ì²��� ��ê³µë�©ë����. �¤ë¥¸ ���������� ���½ë��
+ ì½���ì¸�ë¥� ë°±ì���� ��ë²�ë¡� ��ë¡����©ë����.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>URL�� �¤ë¥¸ ��ë²��� �¨ì���� 매í�����¤ë©´ �¤ì��ê³� ê°���
+ [P] ����ê·¸ë�� �¬ì�©í�©ë����:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteBase "/products/"
+RewriteRule "^widget/(.*)$" "http://product.example.com/widget/$1" [P]
+ProxyPassReverse "/products/widget/" "http://product.example.com/widget/"</pre>
+
+
+ <p>�� �� ���������� �컬��� ������ 찾� �� ����
+ ê²½ì�°ì��ë§� ��ì²��� ��ë¡����©ë����. �´ê��� �� ��ë²����� �¤ë¥¸
+ ��ë²�ë¡� ë§��´ê·¸���´ì����ê³� ���¼ë©° 모ë�� ì½���ì¸�ê°� ��ì§�
+ ë§��´ê·¸���´ì��������ì§� ������ �� ���� �� 매ì�� ���©í�©ë����.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+RewriteRule "^/(.*)" "http://old.example.com/$1" [P]
+ProxyPassReverse "/" "http://old.example.com/"</pre>
+
+ </dd>
+
+ <dt>���:</dt>
+
+ <dd><p>ê°� ê²½ì�°ì�� ë°±ì�������� ë°����� 리ë�¤ì�´ë���¸ê� �´ë�¼ì�´ì�¸í�¸ì��
+ �¬ë�르ê� ���¬ë����ë¡� <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> ì§����´ë��
+ ì¶�ê°��©ë����.</p>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ���� ê°��¥í��ë©�
+ <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ����
+ <code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code>�
+ �¬ì�©í���� ê²��� ê³��¤í��������.</p>
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/proxy.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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>Vekil Kullanımı için mod_rewrite - 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" type="text/javascript">
+</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></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="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.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Vekil Kullanımı için mod_rewrite</h1>
+<div class="toplang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/proxy.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</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.
+İçeriği başka bir sunucuya vekil olarak iletmek için RewriteRule'un [P]
+bayrağının nasıl kullanılacağını açıklar. Yaygın senaryoları anlatan
+birkaç tarif sunulmuştur.</p>
+
+</div>
+<div id="quickview"><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="intro.html">mod_rewrite'a giriş</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="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><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="dynamic-proxy" id="dynamic-proxy">mod_rewrite ile İçerik Vekilleme</a> <a title="Permanent link" href="#dynamic-proxy" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, URL'lerin <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>
+ aracılığıyla başka bir sunucuya iletilmesini sağlayan [P] bayrağını
+ sunar. Burada iki örnek verilmiştir. Birinde, bir URL doğrudan başka
+ bir sunucuya iletilir ve yerel bir URL gibi sunulur. Diğerinde,
+ eksik içeriği bir arka uç sunucusuna vekil olarak iletiriz.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>Bir URL'yi başka bir sunucuya basitçe eşlemek için [P]
+ bayrağını şu şekilde kullanırız:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteBase "/products/"
+RewriteRule "^widget/(.*)$" "http://product.example.com/widget/$1" [P]
+ProxyPassReverse "/products/widget/" "http://product.example.com/widget/"</pre>
+
+
+ <p>İkinci örnekte, isteği yalnızca kaynağı yerel olarak
+ bulamadığımızda vekil olarak iletiriz. Bu, bir sunucudan diğerine
+ geçiş yaparken ve tüm içeriğin taşınıp taşınmadığından emin
+ olmadığınızda çok yararlı olabilir.</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+RewriteRule "^/(.*)" "http://old.example.com/$1" [P]
+ProxyPassReverse "/" "http://old.example.com/"</pre>
+
+ </dd>
+
+ <dt>Tartışma:</dt>
+
+ <dd><p>Her iki durumda da, arka uç tarafından verilen
+ yönlendirmelerin istemciye doğru şekilde iletilmesini sağlamak
+ için bir <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code>
+ yönergesi ekliyoruz.</p>
+
+ <p>Mümkün olduğunda <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> yerine <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> veya <code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code> kullanmayı
+ değerlendirin.</p>
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/proxy.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.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="http://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></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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="zh-cn" xml:lang="zh-cn"><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>使用 mod_rewrite 进行代理 - Apache HTTP 服务器 版本 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP 服务器版本 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP 服务器</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../">版本 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>使用 mod_rewrite 进行代理</h1>
+<div class="toplang">
+<p><span>可用语言: </span><a href="../de/rewrite/proxy.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.html" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>本文档是 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">参考文档</a>的补充。它描述了如何使用
+RewriteRule 的 [P] 标志将内容代理到另一台服务器。
+提供了若干描述常见场景的配置方案。</p>
+
+</div>
+<div id="quickview"><h3>参见</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">模块文档</a></li><li><a href="intro.html">mod_rewrite 简介</a></li><li><a href="remapping.html">重定向和重映射</a></li><li><a href="access.html">访问控制</a></li><li><a href="vhosts.html">虚拟主机</a></li><li><a href="rewritemap.html">使用 RewriteMap</a></li><li><a href="advanced.html">高级技术</a></li><li><a href="avoid.html">何时不使用 mod_rewrite</a></li><li><a href="#comments_section">评论</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="dynamic-proxy" id="dynamic-proxy">使用 mod_rewrite 代理内容</a> <a title="Permanent link" href="#dynamic-proxy" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 提供了 [P] 标志,允许 URL 通过
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> 传递到另一台服务器。这里给出两个示例。
+ 在一个示例中,URL 被直接传递到另一台服务器,并像本地 URL 一样提供服务。
+ 在另一个示例中,我们将缺失的内容代理到后端服务器。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>要简单地将 URL 映射到另一台服务器,我们使用 [P] 标志,如下所示:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteBase "/products/"
+RewriteRule "^widget/(.*)$" "http://product.example.com/widget/$1" [P]
+ProxyPassReverse "/products/widget/" "http://product.example.com/widget/"</pre>
+
+
+ <p>在第二个示例中,我们仅在本地找不到资源时才代理请求。
+ 当你从一台服务器迁移到另一台服务器,而不确定所有内容是否已迁移完毕时,
+ 这非常有用。</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+RewriteRule "^/(.*)" "http://old.example.com/$1" [P]
+ProxyPassReverse "/" "http://old.example.com/"</pre>
+
+ </dd>
+
+ <dt>讨论:</dt>
+
+ <dd><p>在每种情况下,我们都添加了一个 <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> 指令,
+ 以确保后端发出的任何重定向都能正确地传递给客户端。</p>
+
+ <p>请尽可能考虑使用 <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> 或 <code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code> 来代替
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>。</p>
+ </dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>可用语言: </span><a href="../de/rewrite/proxy.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/proxy.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/proxy.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/proxy.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/proxy.html" title="Simplified Chinese"> zh-cn </a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2026 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许可证.</p>
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
# GENERATED FROM XML -- DO NOT EDIT
+URI: remapping.html.de
+Content-Language: de
+Content-type: text/html; charset=ISO-8859-1
+
URI: remapping.html.en.utf8
Content-Language: en
Content-type: text/html; charset=UTF-8
+URI: remapping.html.es.utf8
+Content-Language: es
+Content-type: text/html; charset=UTF-8
+
URI: remapping.html.fr.utf8
Content-Language: fr
Content-type: text/html; charset=UTF-8
+
+URI: remapping.html.ja.utf8
+Content-Language: ja
+Content-type: text/html; charset=UTF-8
+
+URI: remapping.html.ko.euc-kr
+Content-Language: ko
+Content-type: text/html; charset=EUC-KR
+
+URI: remapping.html.tr.utf8
+Content-Language: tr
+Content-type: text/html; charset=UTF-8
+
+URI: remapping.html.zh-cn.utf8
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!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="de" xml:lang="de"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Umleitung und Neuzuordnung mit mod_rewrite - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Umleitung und Neuzuordnung mit mod_rewrite</h1>
+<div class="toplang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/remapping.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>Dieses Dokument ergänzt die <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">Referenzdokumentation</a>. Es beschreibt,
+wie Sie <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> verwenden können, um Anfragen
+umzuleiten und neu zuzuordnen. Dies beinhaltet viele Beispiele für gängige
+Verwendungen von <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, einschließlich detaillierter
+Beschreibungen, wie jedes einzelne funktioniert.</p>
+
+<div class="warning">Beachten Sie, dass viele dieser Beispiele nicht unverändert in Ihrer
+speziellen Serverkonfiguration funktionieren werden. Es ist daher wichtig, dass Sie
+sie verstehen, anstatt die Beispiele einfach auszuschneiden und in Ihre
+Konfiguration einzufügen.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#old-to-new">Von Alt zu Neu (intern)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#old-to-new-extern">Umschreiben von Alt zu Neu (extern)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#movehomedirs">Ressource auf einen anderen Server verschoben</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#static-to-dynamic">Von statisch zu dynamisch</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#backward-compatibility">Abwärtskompatibilität bei Änderung der Dateiendung</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#canonicalhost">Kanonische Hostnamen</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#multipledirs">Suche nach Seiten in mehr als einem Verzeichnis</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#archive-access-multiplexer">Umleitung auf geografisch verteilte Server</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#canonicalurl">Kanonische URLs</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#moveddocroot">Verschobenes <code>DocumentRoot</code></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#fallback-resource">Fallback-Ressource</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewrite-query">Query-String umschreiben</a></li>
+</ul><h3>Siehe auch</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Moduldokumentation</a></li><li><a href="intro.html">Einführung in mod_rewrite</a></li><li><a href="access.html">Zugriffskontrolle</a></li><li><a href="vhosts.html">Virtuelle Hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Verwendung von RewriteMap</a></li><li><a href="advanced.html">Fortgeschrittene Techniken</a></li><li><a href="avoid.html">Wann man mod_rewrite nicht verwenden sollte</a></li><li><a href="#comments_section">Kommentare</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="old-to-new" id="old-to-new">Von Alt zu Neu (intern)</a> <a title="Permanent link" href="#old-to-new" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Angenommen, wir haben kürzlich die Seite
+ <code>foo.html</code> in <code>bar.html</code> umbenannt und
+ möchten nun die alte URL aus Gründen der Abwärtskompatibilität
+ weiterhin bereitstellen. Dabei sollen die Benutzer der alten URL
+ jedoch nicht bemerken, dass die Seite umbenannt wurde - das heißt,
+ die Adresse soll sich in ihrem Browser nicht ändern.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Wir schreiben die alte URL intern auf die neue um, mit der
+ folgenden Regel:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>/bar</strong>.html" [PT]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="old-to-new-extern" id="old-to-new-extern">Umschreiben von Alt zu Neu (extern)</a> <a title="Permanent link" href="#old-to-new-extern" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Angenommen erneut, dass wir kürzlich die Seite
+ <code>foo.html</code> in <code>bar.html</code> umbenannt haben und
+ nun die alte URL aus Gründen der Abwärtskompatibilität weiterhin
+ bereitstellen möchten. Diesmal möchten wir aber, dass die Benutzer
+ der alten URL auf die neue hingewiesen werden, d.h. die
+ Adresszeile ihres Browsers soll sich ebenfalls ändern.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Wir erzwingen eine HTTP-Umleitung auf die neue URL, was zu einer
+ Änderung der Browser-Adresszeile und damit der Ansicht der Benutzer
+ führt:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>bar</strong>.html" [<strong>R</strong>]</pre>
+
+</dd>
+
+<dt>Diskussion</dt>
+
+ <dd>
+ <p>In diesem Beispiel können wir im Gegensatz zum
+ <a href="#old-to-new-intern">internen</a> Beispiel oben einfach die
+ Redirect-Direktive verwenden. <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> wurde in
+ diesem früheren Beispiel verwendet, um die Umleitung vor dem Client
+ zu verbergen:</p>
+
+ <pre class="prettyprint lang-config">Redirect "/foo.html" "/bar.html"</pre>
+
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="movehomedirs" id="movehomedirs">Ressource auf einen anderen Server verschoben</a> <a title="Permanent link" href="#movehomedirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Wenn eine Ressource auf einen anderen Server verschoben wurde,
+ möchten Sie möglicherweise, dass URLs für eine gewisse Zeit weiterhin
+ auf dem alten Server funktionieren, während die Benutzer ihre
+ Lesezeichen aktualisieren.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Sie können <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> verwenden, um diese URLs
+ auf den neuen Server umzuleiten, aber Sie könnten auch die Redirect-
+ oder RedirectMatch-Direktive in Betracht ziehen.</p>
+
+<pre class="prettyprint lang-config">#Mit mod_rewrite
+RewriteEngine on
+RewriteRule "^/docs/(.+)" "http://new.example.com/docs/$1" [R,L]</pre>
+
+
+<pre class="prettyprint lang-config">#Mit RedirectMatch
+RedirectMatch "^/docs/(.*)" "http://new.example.com/docs/$1"</pre>
+
+
+<pre class="prettyprint lang-config">#Mit Redirect
+Redirect "/docs/" "http://new.example.com/docs/"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="static-to-dynamic" id="static-to-dynamic">Von statisch zu dynamisch</a> <a title="Permanent link" href="#static-to-dynamic" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Wie können wir eine statische Seite
+ <code>foo.html</code> nahtlos in eine dynamische Variante
+ <code>foo.cgi</code> umwandeln, d.h. ohne dass der
+ Browser/Benutzer es bemerkt?</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Wir schreiben die URL einfach auf das CGI-Skript um und
+ erzwingen, dass der Handler <strong>cgi-script</strong> ist,
+ damit es als CGI-Programm ausgeführt wird. So führt eine Anfrage
+ an <code>/~quux/foo.html</code> intern zum Aufruf von
+ <code>/~quux/foo.cgi</code>.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteBase "/~quux/"
+RewriteRule "^foo\.html$" "foo.cgi" [H=<strong>cgi-script</strong>]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="backward-compatibility" id="backward-compatibility">Abwärtskompatibilität bei Änderung der Dateiendung</a> <a title="Permanent link" href="#backward-compatibility" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Wie können wir URLs abwärtskompatibel machen (virtuell weiterhin
+ existierend), nachdem <code>document.YYYY</code> zu
+ <code>document.XXXX</code> migriert wurde, z.B. nach der Konvertierung
+ einer Reihe von <code>.html</code>-Dateien nach <code>.php</code>?</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Die URL wird nur dann von der alten auf die neue Endung
+ umgeschrieben, wenn die Zieldatei mit der neuen Endung existiert
+ und die Originaldatei mit der alten Endung nicht existiert.
+ Andernfalls bleibt die URL unverändert.</p>
+
+<pre class="prettyprint lang-config"># Abwärtskompatibilitäts-Regelsatz für
+# Umschreibung von document.html zu document.php
+# wenn und nur wenn document.php existiert
+<Directory "/var/www/htdocs">
+ RewriteEngine on
+ RewriteBase "/var/www/htdocs"
+
+ RewriteCond "$1.php" -f
+ RewriteCond "$1.html" !-f
+ RewriteRule "^(.*).html$" "$1.php"
+</Directory></pre>
+
+ </dd>
+
+ <dt>Diskussion</dt>
+ <dd>
+ <p>Dieses Beispiel nutzt eine oft übersehene Funktion von
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, indem es die Ausführungsreihenfolge des
+ Regelsatzes ausnutzt. Insbesondere wertet <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ die linke Seite der RewriteRule aus, bevor es die
+ RewriteCond-Direktiven auswertet. Folglich ist $1 bereits definiert,
+ wenn die RewriteCond-Direktiven ausgewertet werden. Dies ermöglicht
+ es uns, die Existenz der Original- (<code>document.html</code>) und
+ Zieldatei (<code>document.php</code>) unter Verwendung desselben
+ Basisdateinamens zu prüfen.</p>
+
+ <p>Dieser Regelsatz ist für die Verwendung im Verzeichniskontext
+ (in einem <Directory>-Block oder in einer .htaccess-Datei)
+ konzipiert, sodass die <code>-f</code>-Prüfungen im korrekten
+ Verzeichnispfad suchen. Möglicherweise müssen Sie eine <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>-Direktive setzen, um das
+ Verzeichnis anzugeben, in dem Sie arbeiten.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="canonicalhost" id="canonicalhost">Kanonische Hostnamen</a> <a title="Permanent link" href="#canonicalhost" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>Das Ziel dieser Regel ist es, die Verwendung eines bestimmten
+ Hostnamens zu erzwingen, anstelle anderer Hostnamen, die für den
+ Zugriff auf dieselbe Website verwendet werden könnten. Wenn Sie
+ beispielsweise die Verwendung von <strong>www.example.com</strong>
+ anstelle von <strong>example.com</strong> erzwingen möchten,
+ können Sie eine Variante des folgenden Rezepts verwenden.</dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+
+<p>Der allerbeste Weg, dies zu lösen, verwendet gar nicht <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>,
+sondern die <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code>-Direktive
+in einem virtuellen Host für den nicht-kanonischen Hostnamen.</p>
+
+<pre class="prettyprint lang-config"><VirtualHost *:80>
+ ServerName undesired.example.com
+ ServerAlias example.com notthis.example.com
+
+ Redirect "/" "http://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:80>
+ ServerName www.example.com
+</VirtualHost></pre>
+
+
+<p>Alternativ können Sie dies mit der
+<code class="directive"><a href="../mod/core.html#if"><If></a></code>-Direktive
+erreichen: (<strong>ab Version 2.4</strong>)</p>
+
+<pre class="prettyprint lang-config"><If "%{HTTP_HOST} != 'www.example.com'">
+ Redirect "/" "http://www.example.com/"
+</If></pre>
+
+
+<p>Oder, um beispielsweise einen Teil Ihrer Website auf HTTPS umzuleiten,
+könnten Sie Folgendes tun:</p>
+
+<pre class="prettyprint lang-config"><If "%{SERVER_PROTOCOL} != 'HTTPS'">
+ Redirect "/admin/" "https://www.example.com/admin/"
+</If></pre>
+
+
+<p>Wenn Sie aus irgendeinem Grund dennoch <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+verwenden möchten - zum Beispiel, wenn Sie dies mit einer größeren Menge
+von RewriteRules benötigen - können Sie eines der folgenden Rezepte
+verwenden.</p>
+
+<p>Für Websites, die auf einem anderen Port als 80 laufen:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteCond "%{SERVER_PORT}" "!^80$"
+RewriteRule "^/?(.*)" "http://www.example.com:%{SERVER_PORT}/$1" [L,R,NE]</pre>
+
+
+<p>Und für eine Website auf Port 80:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.example.com/$1" [L,R,NE]</pre>
+
+
+ <p>
+ Wenn Sie dies generisch für alle Domainnamen tun möchten - das
+ heißt, wenn Sie <strong>example.com</strong> für alle möglichen
+ Werte von <strong>example.com</strong> auf
+ <strong>www.example.com</strong> umleiten möchten, können Sie
+ das folgende Rezept verwenden:</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\." [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.%{HTTP_HOST}/$1" [L,R,NE]</pre>
+
+
+ <p>Diese Regelsätze funktionieren sowohl in Ihrer
+ Hauptserverkonfigurationsdatei als auch in einer <code>.htaccess</code>-Datei,
+ die im <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> des Servers
+ abgelegt wird.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="multipledirs" id="multipledirs">Suche nach Seiten in mehr als einem Verzeichnis</a> <a title="Permanent link" href="#multipledirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Eine bestimmte Ressource könnte an einem von mehreren Orten
+ existieren, und wir möchten an diesen Orten nach der Ressource
+ suchen, wenn sie angefordert wird. Vielleicht haben wir kürzlich
+ unsere Verzeichnisstruktur umorganisiert und Inhalte auf mehrere
+ Orte verteilt.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Der folgende Regelsatz sucht in zwei Verzeichnissen nach der
+ Ressource und versucht, falls sie an keinem der beiden Orte
+ gefunden wird, sie einfach vom angeforderten Ort auszuliefern.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+# zuerst versuchen, es in dir1/ zu finden...
+# ...und wenn gefunden, anhalten und zufrieden sein:
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir1</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir1</strong>/$1" [L]
+
+# dann versuchen, es in dir2/ zu finden...
+# ...und wenn gefunden, anhalten und zufrieden sein:
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir2</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir2</strong>/$1" [L]
+
+# sonst weiter zu anderen Alias- oder ScriptAlias-Direktiven usw.
+RewriteRule "^" "-" [PT]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="archive-access-multiplexer" id="archive-access-multiplexer">Umleitung auf geografisch verteilte Server</a> <a title="Permanent link" href="#archive-access-multiplexer" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Wir haben zahlreiche Spiegelserver unserer Website und möchten
+ Besucher auf denjenigen umleiten, der sich in dem Land befindet, in
+ dem sie sich aufhalten.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Anhand des Hostnamens des anfragenden Clients bestimmen wir, aus
+ welchem Land er kommt. Wenn wir keine Auflösung seiner IP-Adresse
+ durchführen können, greifen wir auf einen Standardserver zurück.</p>
+ <p>Wir verwenden eine <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>-Direktive,
+ um eine Liste der gewünschten Server zu erstellen.</p>
+
+<pre class="prettyprint lang-config">HostnameLookups on
+RewriteEngine on
+RewriteMap multiplex "txt:/path/to/map.mirrors"
+RewriteCond "%{REMOTE_HOST}" "([a-z]+)$" [NC]
+RewriteRule "^/(.*)$" "${multiplex:<strong>%1</strong>|http://www.example.com/}$1" [R,L]</pre>
+
+
+<div class="example"><p><code>
+## map.mirrors -- Multiplexing-Map<br />
+<br />
+de http://www.example.de/<br />
+uk http://www.example.uk/<br />
+com http://www.example.com/<br />
+##EOF##
+</code></p></div>
+ </dd>
+
+ <dt>Diskussion</dt>
+ <dd>
+ <div class="warning">Dieser Regelsatz setzt voraus, dass
+ <code class="directive"><a href="../mod/core.html#hostnamelookups">HostNameLookups</a></code> auf <code>on</code>
+ gesetzt ist, was einen erheblichen Leistungseinbruch bedeuten kann.</div>
+
+ <p>Die <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>-Direktive
+ erfasst den letzten Teil des Hostnamens des anfragenden Clients - den
+ Ländercode - und die nachfolgende RewriteRule verwendet diesen Wert,
+ um den entsprechenden Spiegelhost in der Map-Datei nachzuschlagen.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="canonicalurl" id="canonicalurl">Kanonische URLs</a> <a title="Permanent link" href="#canonicalurl" class="permalink">¶</a></h2>
+
+
+
+<dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Auf manchen Webservern gibt es mehr als eine URL für eine
+ Ressource. Normalerweise gibt es kanonische URLs (die tatsächlich
+ verwendet und verteilt werden) und solche, die nur Abkürzungen,
+ interne Adressen usw. sind. Unabhängig davon, welche URL der
+ Benutzer mit der Anfrage angegeben hat, sollte er schließlich die
+ kanonische URL in der Adresszeile seines Browsers sehen.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Wir führen eine externe HTTP-Umleitung für alle nicht-kanonischen
+ URLs durch, um sie in der Adressanzeige des Browsers und für alle
+ nachfolgenden Anfragen zu korrigieren. Im folgenden Beispiel-Regelsatz
+ ersetzen wir <code>/puppies</code> und <code>/canines</code>
+ durch die kanonische URL <code>/dogs</code>.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/(puppies|canines)/(.*)" "/dogs/$2" [R]</pre>
+
+ </dd>
+
+ <dt>Diskussion:</dt>
+ <dd>
+ Dies sollte eigentlich mit Redirect- oder RedirectMatch-Direktiven
+ erreicht werden:
+
+ <pre class="prettyprint lang-config">RedirectMatch "^/(puppies|canines)/(.*)" "/dogs/$2"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="moveddocroot" id="moveddocroot">Verschobenes <code>DocumentRoot</code></a> <a title="Permanent link" href="#moveddocroot" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+<p>Normalerweise entspricht das <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
+des Webservers direkt der URL "<code>/</code>". Aber oft sind diese Daten
+nicht wirklich von höchster Priorität. Beispielsweise möchten Sie
+vielleicht, dass Besucher beim ersten Betreten einer Website in ein
+bestimmtes Unterverzeichnis <code>/about/</code> geleitet werden. Dies
+kann mit dem folgenden Regelsatz erreicht werden:</p>
+</dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+ <p>Wir leiten die URL <code>/</code> nach
+ <code>/about/</code> um:
+ </p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/$" "/about/" [<strong>R</strong>]</pre>
+
+
+<p>Beachten Sie, dass dies auch mit der <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code>-Direktive gehandhabt werden
+kann:</p>
+
+<pre class="prettyprint lang-config">RedirectMatch "^/$" "http://example.com/about/"</pre>
+
+
+<p>Beachten Sie auch, dass das Beispiel nur die Stamm-URL umschreibt.
+Das heißt, es schreibt eine Anfrage für <code>http://example.com/</code>
+um, aber nicht eine Anfrage für <code>http://example.com/page.html</code>.
+Wenn Sie tatsächlich Ihr Document Root geändert haben - das heißt, wenn
+<strong>alle</strong> Ihre Inhalte tatsächlich in diesem Unterverzeichnis
+liegen - ist es wesentlich besser, einfach Ihre
+<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>-Direktive zu ändern
+oder alle Inhalte ein Verzeichnis nach oben zu verschieben, anstatt URLs
+umzuschreiben.</p>
+</dd>
+</dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="fallback-resource" id="fallback-resource">Fallback-Ressource</a> <a title="Permanent link" href="#fallback-resource" class="permalink">¶</a></h2>
+
+
+<dl>
+<dt>Beschreibung:</dt>
+<dd>Sie möchten, dass eine einzelne Ressource (beispielsweise eine bestimmte
+Datei wie index.php) alle Anfragen behandelt, die an ein bestimmtes
+Verzeichnis gerichtet sind, mit Ausnahme derjenigen, die an eine vorhandene
+Ressource wie ein Bild oder eine CSS-Datei gehen sollen.</dd>
+
+<dt>Lösung:</dt>
+<dd>
+<p>Ab Version 2.2.16 sollten Sie hierfür die <code class="directive"><a href="../mod/mod_dir.html#fallbackresource">FallbackResource</a></code>-Direktive verwenden:</p>
+
+<pre class="prettyprint lang-config"><Directory "/var/www/my_blog">
+ FallbackResource index.php
+</Directory></pre>
+
+
+<p>In älteren Versionen von Apache oder wenn Ihre Anforderungen
+komplizierter sind, können Sie eine Variante des folgenden
+Umschreibungssatzes verwenden, um dasselbe zu erreichen:</p>
+
+<pre class="prettyprint lang-config"><Directory "/var/www/my_blog">
+ RewriteBase "/my_blog"
+
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-f
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-d
+ RewriteRule "^" "index.php" [PT]
+</Directory></pre>
+
+
+<p>Wenn Sie andererseits die angeforderte URI als Query-String-Argument
+an index.php übergeben möchten, können Sie diese RewriteRule ersetzen
+durch:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "(.*)" "index.php?$1" [PT,QSA]</pre>
+
+
+<p>Beachten Sie, dass diese Regelsätze sowohl in einer
+<code>.htaccess</code>-Datei als auch in einem <Directory>-Block
+verwendet werden können.</p>
+
+</dd>
+
+</dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewrite-query" id="rewrite-query">Query-String umschreiben</a> <a title="Permanent link" href="#rewrite-query" class="permalink">¶</a></h2>
+
+
+<dl>
+<dt>Beschreibung:</dt>
+<dd>Sie möchten einen bestimmten Wert aus einem Query-String erfassen
+und ihn entweder ersetzen oder in eine andere Komponente der URL
+einbinden.</dd>
+
+<dt>Lösungen:</dt>
+<dd>
+<p>Viele der Lösungen in diesem Abschnitt verwenden dieselbe Bedingung,
+die den übereinstimmenden Wert in der Rückreferenz %2 belässt. %1 ist der
+Anfang des Query-Strings (bis zum interessierenden Schlüssel) und %3 ist
+der Rest. Diese Bedingung ist etwas komplex, um Flexibilität zu gewährleisten
+und doppelte '&&' in den Ersetzungen zu vermeiden.</p>
+<ul>
+ <li>Diese Lösung entfernt den übereinstimmenden Schlüssel und Wert:
+
+<pre class="prettyprint lang-config"># mykey=??? entfernen
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1?%1%3"</pre>
+
+ </li>
+
+ <li>Diese Lösung verwendet den erfassten Wert in der URL-Ersetzung
+ und verwirft den Rest des ursprünglichen Query-Strings durch Anhängen
+ eines '?':
+
+<pre class="prettyprint lang-config"># Vom Query-String in PATH_INFO kopieren
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1/products/%2/?" [PT]</pre>
+
+ </li>
+
+ <li>Diese Lösung prüft den erfassten Wert in einer nachfolgenden Bedingung:
+
+<pre class="prettyprint lang-config"># Den Wert von mykey im Query-String erfassen
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteCond "%2" !=not-so-secret-value
+RewriteRule "(.*)" "-" [F]</pre>
+
+ </li>
+
+ <li>Diese Lösung zeigt die Umkehrung der vorherigen und kopiert
+ Pfadkomponenten (möglicherweise PATH_INFO) aus der URL in den
+ Query-String.
+<pre class="prettyprint lang-config"># Die gewünschte URL könnte /products/kitchen-sink sein, und das Skript erwartet
+# /path?products=kitchen-sink.
+RewriteRule "^/?path/([^/]+)/([^/]+)" "/path?$1=$2" [PT]</pre>
+
+ </li>
+</ul>
+
+</dd>
+
+</dl>
+</div></div>
+<div class="bottomlang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/remapping.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.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 />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Redirecting and Remapping with mod_rewrite</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/remapping.html" title="English"> en </a> |
-<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/remapping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
</dl>
</div></div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/remapping.html" title="English"> en </a> |
-<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/remapping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="es" xml:lang="es"><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>Redirección y Remapeo con mod_rewrite - Servidor HTTP Apache Versión 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p>
+<p class="apache">Versión 2.5 del Servidor HTTP Apache</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/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Redirección y Remapeo con mod_rewrite</h1>
+<div class="toplang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/remapping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>Este documento complementa la <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">documentación de referencia</a>. Describe
+cómo puede usar <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> para redirigir y remapear
+solicitudes. Esto incluye muchos ejemplos de usos comunes de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>,
+incluyendo descripciones detalladas de cómo funciona cada uno.</p>
+
+<div class="warning">Tenga en cuenta que muchos de estos ejemplos no funcionarán sin cambios en su
+configuración particular del servidor, por lo que es importante que los
+entienda, en lugar de simplemente copiar y pegar los ejemplos en su
+configuración.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#old-to-new">De Antiguo a Nuevo (interno)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#old-to-new-extern">Reescritura de Antiguo a Nuevo (externo)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#movehomedirs">Recurso Movido a Otro Servidor</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#static-to-dynamic">De Estático a Dinámico</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#backward-compatibility">Compatibilidad hacia atrás para cambio de extensión de archivo</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#canonicalhost">Nombres de Host Canónicos</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#multipledirs">Búsqueda de páginas en más de un directorio</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#archive-access-multiplexer">Redirección a Servidores Distribuidos Geográficamente</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#canonicalurl">URLs Canónicas</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#moveddocroot"><code>DocumentRoot</code> Movido</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#fallback-resource">Recurso de Respaldo</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewrite-query">Reescribir cadena de consulta</a></li>
+</ul><h3>Consulte también</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentación del módulo</a></li><li><a href="intro.html">Introducción a mod_rewrite</a></li><li><a href="access.html">Control de acceso</a></li><li><a href="vhosts.html">Hosts virtuales</a></li><li><a href="proxy.html">Proxy</a></li><li><a href="rewritemap.html">Uso de RewriteMap</a></li><li><a href="advanced.html">Técnicas avanzadas</a></li><li><a href="avoid.html">Cuándo no usar mod_rewrite</a></li><li><a href="#comments_section">Comentarios</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="old-to-new" id="old-to-new">De Antiguo a Nuevo (interno)</a> <a title="Enlace permanente" href="#old-to-new" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>Supongamos que hemos renombrado recientemente la página
+ <code>foo.html</code> a <code>bar.html</code> y ahora queremos
+ proporcionar la antigua URL por compatibilidad hacia atrás. Sin embargo,
+ queremos que los usuarios de la antigua URL ni siquiera se den cuenta de que
+ la página fue renombrada - es decir, no queremos que la dirección
+ cambie en su navegador.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Reescribimos la antigua URL a la nueva internamente mediante la
+ siguiente regla:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>/bar</strong>.html" [PT]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="old-to-new-extern" id="old-to-new-extern">Reescritura de Antiguo a Nuevo (externo)</a> <a title="Enlace permanente" href="#old-to-new-extern" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>Supongamos de nuevo que hemos renombrado recientemente la página
+ <code>foo.html</code> a <code>bar.html</code> y ahora queremos
+ proporcionar la antigua URL por compatibilidad hacia atrás. Pero esta
+ vez queremos que los usuarios de la antigua URL reciban una indicación de
+ la nueva, es decir, que el campo de Ubicación de su navegador también
+ cambie.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Forzamos una redirección HTTP a la nueva URL que lleva a un
+ cambio del navegador y por lo tanto de la vista del usuario:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>bar</strong>.html" [<strong>R</strong>]</pre>
+
+</dd>
+
+<dt>Discusión</dt>
+
+ <dd>
+ <p>En este ejemplo, a diferencia del ejemplo <a href="#old-to-new-intern">interno</a> anterior, podemos simplemente
+ usar la directiva Redirect. <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> se usó en ese ejemplo
+ anterior para ocultar la redirección del cliente:</p>
+
+ <pre class="prettyprint lang-config">Redirect "/foo.html" "/bar.html"</pre>
+
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="movehomedirs" id="movehomedirs">Recurso Movido a Otro Servidor</a> <a title="Enlace permanente" href="#movehomedirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>Si un recurso se ha movido a otro servidor, puede desear que
+ las URLs continúen funcionando por un tiempo en el antiguo servidor mientras
+ la gente actualiza sus marcadores.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Puede usar <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> para redirigir estas URLs
+ al nuevo servidor, pero también podría considerar usar la directiva Redirect
+ o RedirectMatch.</p>
+
+<pre class="prettyprint lang-config">#With mod_rewrite
+RewriteEngine on
+RewriteRule "^/docs/(.+)" "http://new.example.com/docs/$1" [R,L]</pre>
+
+
+<pre class="prettyprint lang-config">#With RedirectMatch
+RedirectMatch "^/docs/(.*)" "http://new.example.com/docs/$1"</pre>
+
+
+<pre class="prettyprint lang-config">#With Redirect
+Redirect "/docs/" "http://new.example.com/docs/"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="static-to-dynamic" id="static-to-dynamic">De Estático a Dinámico</a> <a title="Enlace permanente" href="#static-to-dynamic" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>¿Cómo podemos transformar una página estática
+ <code>foo.html</code> en una variante dinámica
+ <code>foo.cgi</code> de manera transparente, es decir, sin que
+ el navegador/usuario lo note.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Simplemente reescribimos la URL al script CGI y forzamos el
+ manejador a ser <strong>cgi-script</strong> para que se
+ ejecute como un programa CGI.
+ De esta manera, una solicitud a <code>/~quux/foo.html</code>
+ internamente lleva a la invocación de
+ <code>/~quux/foo.cgi</code>.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteBase "/~quux/"
+RewriteRule "^foo\.html$" "foo.cgi" [H=<strong>cgi-script</strong>]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="backward-compatibility" id="backward-compatibility">Compatibilidad hacia atrás para cambio de extensión de archivo</a> <a title="Enlace permanente" href="#backward-compatibility" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>¿Cómo podemos hacer URLs retrocompatibles (aún
+ existentes virtualmente) después de migrar <code>document.YYYY</code>
+ a <code>document.XXXX</code>, por ejemplo, después de traducir un
+ grupo de archivos <code>.html</code> a <code>.php</code>?</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>La URL se reescribe de la antigua extensión a la nueva
+ solo si el archivo destino con la nueva extensión existe
+ y el archivo original con la antigua extensión no existe.
+ De lo contrario, la URL se deja sin cambios.</p>
+
+<pre class="prettyprint lang-config"># backward compatibility ruleset for
+# rewriting document.html to document.php
+# when and only when document.php exists
+<Directory "/var/www/htdocs">
+ RewriteEngine on
+ RewriteBase "/var/www/htdocs"
+
+ RewriteCond "$1.php" -f
+ RewriteCond "$1.html" !-f
+ RewriteRule "^(.*).html$" "$1.php"
+</Directory></pre>
+
+ </dd>
+
+ <dt>Discusión</dt>
+ <dd>
+ <p>Este ejemplo usa una característica a menudo pasada por alto de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>,
+ aprovechando el orden de ejecución del conjunto de reglas. En
+ particular, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> evalúa el lado izquierdo de la
+ RewriteRule antes de evaluar las directivas RewriteCond.
+ En consecuencia, $1 ya está definido para el momento en que las directivas
+ RewriteCond se evalúan. Esto nos permite probar la existencia
+ del archivo original (<code>document.html</code>) y destino
+ (<code>document.php</code>) usando el mismo nombre de archivo base.</p>
+
+ <p>Este conjunto de reglas está diseñado para usarse en un contexto per-directorio (en un
+ bloque <Directory> o en un archivo .htaccess), de modo que las
+ verificaciones <code>-f</code> busquen en la ruta de directorio correcta.
+ Puede necesitar establecer una directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> para especificar la
+ base de directorio en la que está trabajando.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="canonicalhost" id="canonicalhost">Nombres de Host Canónicos</a> <a title="Enlace permanente" href="#canonicalhost" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>El objetivo de esta regla es forzar el uso de un nombre de
+ host particular, en preferencia a otros nombres de host que pueden usarse para
+ alcanzar el mismo sitio. Por ejemplo, si desea forzar el uso
+ de <strong>www.example.com</strong> en lugar de
+ <strong>example.com</strong>, podría usar una variante de la
+ siguiente receta.</dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+
+<p>La mejor manera de resolver esto no involucra <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> en absoluto,
+sino que usa la directiva <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code>
+colocada en un host virtual para el o los nombres de host no canónicos.</p>
+
+<pre class="prettyprint lang-config"><VirtualHost *:80>
+ ServerName undesired.example.com
+ ServerAlias example.com notthis.example.com
+
+ Redirect "/" "http://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:80>
+ ServerName www.example.com
+</VirtualHost></pre>
+
+
+<p>Alternativamente puede lograr esto usando la
+directiva <code class="directive"><a href="../mod/core.html#if"><If></a></code>:
+(<strong>2.4 y posterior</strong>)</p>
+
+<pre class="prettyprint lang-config"><If "%{HTTP_HOST} != 'www.example.com'">
+ Redirect "/" "http://www.example.com/"
+</If></pre>
+
+
+<p>O, por ejemplo, para redirigir una porción de su sitio a HTTPS, podría
+hacer lo siguiente:</p>
+
+<pre class="prettyprint lang-config"><If "%{SERVER_PROTOCOL} != 'HTTPS'">
+ Redirect "/admin/" "https://www.example.com/admin/"
+</If></pre>
+
+
+<p>Si, por cualquier razón, aún desea usar <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+- si, por ejemplo, necesita que esto funcione con un conjunto más grande de RewriteRules -
+podría usar una de las recetas siguientes.</p>
+
+<p>Para sitios ejecutándose en un puerto distinto al 80:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteCond "%{SERVER_PORT}" "!^80$"
+RewriteRule "^/?(.*)" "http://www.example.com:%{SERVER_PORT}/$1" [L,R,NE]</pre>
+
+
+<p>Y para un sitio ejecutándose en el puerto 80</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.example.com/$1" [L,R,NE]</pre>
+
+
+ <p>
+ Si quisiera hacer esto genéricamente para todos los nombres de dominio - es
+ decir, si quiere redirigir <strong>example.com</strong> a
+ <strong>www.example.com</strong> para todos los valores posibles de
+ <strong>example.com</strong>, podría usar la siguiente
+ receta:</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\." [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.%{HTTP_HOST}/$1" [L,R,NE]</pre>
+
+
+ <p>Estos conjuntos de reglas funcionarán tanto en su archivo de configuración principal
+ del servidor, como en un archivo <code>.htaccess</code> colocado en el <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> del servidor.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="multipledirs" id="multipledirs">Búsqueda de páginas en más de un directorio</a> <a title="Enlace permanente" href="#multipledirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>Un recurso particular podría existir en uno de varios lugares, y
+ queremos buscar en esos lugares el recurso cuando se
+ solicita. Quizás hemos reorganizado recientemente nuestra estructura de
+ directorios, dividiendo el contenido en varias ubicaciones.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>El siguiente conjunto de reglas busca en dos directorios para encontrar el
+ recurso, y, si no lo encuentra en ninguno de los dos, intentará
+ simplemente servirlo desde la ubicación solicitada.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+# first try to find it in dir1/...
+# ...and if found stop and be happy:
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir1</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir1</strong>/$1" [L]
+
+# second try to find it in dir2/...
+# ...and if found stop and be happy:
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir2</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir2</strong>/$1" [L]
+
+# else go on for other Alias or ScriptAlias directives,
+# etc.
+RewriteRule "^" "-" [PT]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="archive-access-multiplexer" id="archive-access-multiplexer">Redirección a Servidores Distribuidos Geográficamente</a> <a title="Enlace permanente" href="#archive-access-multiplexer" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>Tenemos numerosos espejos de nuestro sitio web, y queremos redirigir
+ a la gente al que está ubicado en el país donde se
+ encuentran.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Mirando el nombre de host del cliente solicitante, determinamos
+ de qué país provienen. Si no podemos hacer una búsqueda de su
+ dirección IP, recurrimos a un servidor predeterminado.</p>
+ <p>Usaremos una directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ para construir una lista de servidores que deseamos usar.</p>
+
+<pre class="prettyprint lang-config">HostnameLookups on
+RewriteEngine on
+RewriteMap multiplex "txt:/path/to/map.mirrors"
+RewriteCond "%{REMOTE_HOST}" "([a-z]+)$" [NC]
+RewriteRule "^/(.*)$" "${multiplex:<strong>%1</strong>|http://www.example.com/}$1" [R,L]</pre>
+
+
+<div class="example"><p><code>
+## map.mirrors -- Mapa de Multiplexación<br />
+<br />
+de http://www.example.de/<br />
+uk http://www.example.uk/<br />
+com http://www.example.com/<br />
+##EOF##
+</code></p></div>
+ </dd>
+
+ <dt>Discusión</dt>
+ <dd>
+ <div class="warning">Este conjunto de reglas depende de que
+ <code class="directive"><a href="../mod/core.html#hostnamelookups">HostNameLookups</a></code>
+ esté configurado como <code>on</code>, lo que puede ser
+ un impacto significativo en el rendimiento.</div>
+
+ <p>La directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+ captura la última parte del nombre de host del
+ cliente solicitante - el código de país - y la siguiente RewriteRule
+ usa ese valor para buscar el host espejo apropiado en el archivo
+ de mapa.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="canonicalurl" id="canonicalurl">URLs Canónicas</a> <a title="Enlace permanente" href="#canonicalurl" class="permalink">¶</a></h2>
+
+
+
+<dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>En algunos servidores web hay más de una URL para un
+ recurso. Generalmente hay URLs canónicas (que son las que realmente
+ se usan y distribuyen) y aquellas que son solo
+ atajos, internas, etc. Independientemente de qué URL
+ proporcionó el usuario con la solicitud, finalmente debería ver la
+ canónica en la barra de direcciones de su navegador.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Hacemos una redirección HTTP externa para todas las
+ URLs no canónicas para corregirlas en la vista de ubicación del navegador y
+ para todas las solicitudes posteriores. En el conjunto de reglas de ejemplo
+ reemplazamos <code>/puppies</code> y <code>/canines</code>
+ por el canónico <code>/dogs</code>.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/(puppies|canines)/(.*)" "/dogs/$2" [R]</pre>
+
+ </dd>
+
+ <dt>Discusión:</dt>
+ <dd>
+ Esto realmente debería lograrse con directivas Redirect o RedirectMatch:
+
+ <pre class="prettyprint lang-config">RedirectMatch "^/(puppies|canines)/(.*)" "/dogs/$2"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="moveddocroot" id="moveddocroot"><code>DocumentRoot</code> Movido</a> <a title="Enlace permanente" href="#moveddocroot" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+<p>Generalmente el <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
+del servidor web se relaciona directamente con la URL "<code>/</code>".
+Pero a menudo estos datos no son realmente de máxima prioridad. Por ejemplo,
+puede desear que los visitantes, al entrar por primera vez a un sitio, vayan a un
+subdirectorio particular <code>/about/</code>. Esto puede lograrse
+usando el siguiente conjunto de reglas:</p>
+</dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+ <p>Redirigimos la URL <code>/</code> a
+ <code>/about/</code>:
+ </p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/$" "/about/" [<strong>R</strong>]</pre>
+
+
+<p>Tenga en cuenta que esto también puede manejarse usando la directiva <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code>:</p>
+
+<pre class="prettyprint lang-config">RedirectMatch "^/$" "http://example.com/about/"</pre>
+
+
+<p>Tenga en cuenta también que el ejemplo solo reescribe la URL raíz. Es decir, reescribe
+una solicitud para <code>http://example.com/</code>, pero no una
+solicitud para <code>http://example.com/page.html</code>. Si de hecho ha
+cambiado la raíz de documentos - es decir, si <strong>todo</strong> su
+contenido está en ese subdirectorio, es muy preferible
+simplemente cambiar su directiva <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>,
+o mover todo el contenido un directorio arriba,
+en lugar de reescribir URLs.</p>
+</dd>
+</dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="fallback-resource" id="fallback-resource">Recurso de Respaldo</a> <a title="Enlace permanente" href="#fallback-resource" class="permalink">¶</a></h2>
+
+
+<dl>
+<dt>Descripción:</dt>
+<dd>Desea que un solo recurso (digamos, un cierto archivo, como index.php) maneje
+todas las solicitudes que lleguen a un directorio particular, excepto aquellas
+que deberían ir a un recurso existente como una imagen, o un archivo css.</dd>
+
+<dt>Solución:</dt>
+<dd>
+<p>A partir de la versión 2.2.16, debería usar la directiva <code class="directive"><a href="../mod/mod_dir.html#fallbackresource">FallbackResource</a></code> para esto:</p>
+
+<pre class="prettyprint lang-config"><Directory "/var/www/my_blog">
+ FallbackResource index.php
+</Directory></pre>
+
+
+<p>Sin embargo, en versiones anteriores de Apache, o si sus necesidades son más
+complicadas que esto, puede usar una variación del siguiente conjunto de
+reescritura para lograr lo mismo:</p>
+
+<pre class="prettyprint lang-config"><Directory "/var/www/my_blog">
+ RewriteBase "/my_blog"
+
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-f
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-d
+ RewriteRule "^" "index.php" [PT]
+</Directory></pre>
+
+
+<p>Si, por otro lado, desea pasar la URI solicitada como un argumento de
+cadena de consulta a index.php, puede reemplazar esa RewriteRule con:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "(.*)" "index.php?$1" [PT,QSA]</pre>
+
+
+<p>Tenga en cuenta que estos conjuntos de reglas pueden usarse en un archivo <code>.htaccess</code>,
+así como en un bloque <Directory>.</p>
+
+</dd>
+
+</dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewrite-query" id="rewrite-query">Reescribir cadena de consulta</a> <a title="Enlace permanente" href="#rewrite-query" class="permalink">¶</a></h2>
+
+
+<dl>
+<dt>Descripción:</dt>
+<dd>Desea capturar un valor particular de una cadena de consulta
+y reemplazarlo o incorporarlo en otro componente
+de la URL.</dd>
+
+<dt>Soluciones:</dt>
+<dd>
+<p>Muchas de las soluciones en esta sección usarán la misma condición,
+que deja el valor coincidente en la referencia inversa %2. %1 es el inicio
+de la cadena de consulta (hasta la clave de interés), y %3 es el resto. Esta
+condición es un poco compleja por flexibilidad y para evitar doble '&&' en las
+sustituciones.</p>
+<ul>
+ <li>Esta solución elimina la clave y valor coincidentes:
+
+<pre class="prettyprint lang-config"># Remove mykey=???
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1?%1%3"</pre>
+
+ </li>
+
+ <li>Esta solución usa el valor capturado en la sustitución de URL,
+ descartando el resto de la consulta original añadiendo un '?':
+
+<pre class="prettyprint lang-config"># Copy from query string to PATH_INFO
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1/products/%2/?" [PT]</pre>
+
+ </li>
+
+ <li>Esta solución verifica el valor capturado en una condición posterior:
+
+<pre class="prettyprint lang-config"># Capture the value of mykey in the query string
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteCond "%2" !=not-so-secret-value
+RewriteRule "(.*)" "-" [F]</pre>
+
+ </li>
+
+ <li>Esta solución muestra lo inverso de las anteriores, copiando
+ componentes de ruta (quizás PATH_INFO) de la URL a la cadena de consulta.
+<pre class="prettyprint lang-config"># The desired URL might be /products/kitchen-sink, and the script expects
+# /path?products=kitchen-sink.
+RewriteRule "^/?path/([^/]+)/([^/]+)" "/path?$1=$2" [PT]</pre>
+
+ </li>
+</ul>
+
+</dd>
+
+</dl>
+</div></div>
+<div class="bottomlang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/remapping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.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 />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Redirection et remise en correspondance avec mod_rewrite</h1>
<div class="toplang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/remapping.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/remapping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
</dl>
</div></div>
<div class="bottomlang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/remapping.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/remapping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.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 />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="ja" xml:lang="ja"><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>mod_rewrite によるリダイレクトとリマッピング - Apache HTTP サーバ バージョン 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
+<p class="apache">Apache HTTP サーバ バージョン 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite によるリダイレクトとリマッピング</h1>
+<div class="toplang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/remapping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>このドキュメントは <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">リファレンスドキュメント</a>を補足するものです。
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を使用してリクエストをリダイレクトおよびリマッピング
+する方法を説明します。<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> の一般的な使用例を多数含んでおり、
+それぞれの動作についての詳細な説明も含まれています。</p>
+
+<div class="warning">これらの例の多くは、特定のサーバ設定ではそのまま
+動作しないことに注意してください。そのため、単にコピー&ペーストするのではなく、
+内容を理解することが重要です。</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#old-to-new">旧 URL から新 URL へ (内部)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#old-to-new-extern">旧 URL から新 URL への書き換え (外部)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#movehomedirs">リソースの別サーバへの移動</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#static-to-dynamic">静的から動的へ</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#backward-compatibility">ファイル拡張子変更の後方互換性</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#canonicalhost">正規ホスト名</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#multipledirs">複数のディレクトリでのページ検索</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#archive-access-multiplexer">地理的に分散されたサーバへのリダイレクト</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#canonicalurl">正規 URL</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#moveddocroot"><code>DocumentRoot</code> の移動</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#fallback-resource">フォールバックリソース</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewrite-query">クエリ文字列の書き換え</a></li>
+</ul><h3>参照</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">モジュールドキュメント</a></li><li><a href="intro.html">mod_rewrite 入門</a></li><li><a href="access.html">アクセス制御</a></li><li><a href="vhosts.html">バーチャルホスト</a></li><li><a href="proxy.html">プロキシ</a></li><li><a href="rewritemap.html">RewriteMap の使用</a></li><li><a href="advanced.html">高度なテクニック</a></li><li><a href="avoid.html">mod_rewrite を使わない場合</a></li><li><a href="#comments_section">コメント</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="old-to-new" id="old-to-new">旧 URL から新 URL へ (内部)</a> <a title="Permanent link" href="#old-to-new" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>最近ページ <code>foo.html</code> を <code>bar.html</code> に
+ リネームし、後方互換性のために旧 URL も提供したいとします。
+ ただし、旧 URL のユーザにはページがリネームされたことを
+ 気づかせたくありません - つまり、ブラウザのアドレスが
+ 変更されないようにします。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>以下のルールで旧 URL を内部的に新しいものに書き換えます:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>/bar</strong>.html" [PT]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="old-to-new-extern" id="old-to-new-extern">旧 URL から新 URL への書き換え (外部)</a> <a title="Permanent link" href="#old-to-new-extern" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>再び、最近ページ <code>foo.html</code> を <code>bar.html</code>
+ にリネームし、後方互換性のために旧 URL を提供したいとします。
+ しかし今回は、旧 URL のユーザに新しい URL を知らせたい、
+ つまりブラウザの Location フィールドも変更されるようにしたいとします。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>新しい URL への HTTP リダイレクトを強制し、ブラウザと
+ ユーザの表示を変更します:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>bar</strong>.html" [<strong>R</strong>]</pre>
+
+</dd>
+
+<dt>議論</dt>
+
+ <dd>
+ <p>この例では、上記の<a href="#old-to-new-intern">内部</a>の例と
+ 対比して、単純に Redirect ディレクティブを使用できます。
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> は、前の例でクライアントからリダイレクトを
+ 隠すために使用されました:</p>
+
+ <pre class="prettyprint lang-config">Redirect "/foo.html" "/bar.html"</pre>
+
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="movehomedirs" id="movehomedirs">リソースの別サーバへの移動</a> <a title="Permanent link" href="#movehomedirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>リソースが別のサーバに移動した場合、人々がブックマークを
+ 更新する間、旧サーバでも URL がしばらく機能し続けるように
+ したいとします。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を使用してこれらの URL を新しいサーバに
+ リダイレクトできますが、Redirect や RedirectMatch ディレクティブの
+ 使用も検討してください。</p>
+
+<pre class="prettyprint lang-config">#With mod_rewrite
+RewriteEngine on
+RewriteRule "^/docs/(.+)" "http://new.example.com/docs/$1" [R,L]</pre>
+
+
+<pre class="prettyprint lang-config">#With RedirectMatch
+RedirectMatch "^/docs/(.*)" "http://new.example.com/docs/$1"</pre>
+
+
+<pre class="prettyprint lang-config">#With Redirect
+Redirect "/docs/" "http://new.example.com/docs/"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="static-to-dynamic" id="static-to-dynamic">静的から動的へ</a> <a title="Permanent link" href="#static-to-dynamic" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>静的ページ <code>foo.html</code> を動的バリアント
+ <code>foo.cgi</code> にシームレスに、つまりブラウザ/ユーザに
+ 気づかれずに変換するにはどうすればよいでしょうか。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>URL を CGI スクリプトに書き換え、ハンドラを
+ <strong>cgi-script</strong> に強制して、CGI プログラムとして
+ 実行されるようにします。
+ これにより、<code>/~quux/foo.html</code> へのリクエストは
+ 内部的に <code>/~quux/foo.cgi</code> の呼び出しに
+ つながります。</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteBase "/~quux/"
+RewriteRule "^foo\.html$" "foo.cgi" [H=<strong>cgi-script</strong>]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="backward-compatibility" id="backward-compatibility">ファイル拡張子変更の後方互換性</a> <a title="Permanent link" href="#backward-compatibility" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p><code>document.YYYY</code> から <code>document.XXXX</code> への
+ 移行後、例えば <code>.html</code> ファイル群を <code>.php</code> に
+ 変換した後に、URL の後方互換性 (仮想的にまだ存在する状態) を
+ どのように保つことができるでしょうか?</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>URL は旧拡張子から新拡張子に書き換えられますが、新拡張子の
+ ターゲットファイルが存在し、かつ旧拡張子の元のファイルが
+ 存在しない場合のみです。それ以外の場合、URL はそのまま
+ 変更されません。</p>
+
+<pre class="prettyprint lang-config"># backward compatibility ruleset for
+# rewriting document.html to document.php
+# when and only when document.php exists
+<Directory "/var/www/htdocs">
+ RewriteEngine on
+ RewriteBase "/var/www/htdocs"
+
+ RewriteCond "$1.php" -f
+ RewriteCond "$1.html" !-f
+ RewriteRule "^(.*).html$" "$1.php"
+</Directory></pre>
+
+ </dd>
+
+ <dt>議論</dt>
+ <dd>
+ <p>この例では、<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> のあまり知られていない
+ 機能を利用しています。ルールセットの実行順序を活用しています。
+ 具体的には、<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> は RewriteCond ディレクティブを
+ 評価する前に RewriteRule の左辺を評価します。
+ そのため、RewriteCond ディレクティブが評価される時点で
+ $1 はすでに定義されています。これにより、同じベースファイル名を使用して
+ 元のファイル (<code>document.html</code>) とターゲットファイル
+ (<code>document.php</code>) の存在を確認できます。</p>
+
+ <p>このルールセットはディレクトリ単位のコンテキスト
+ (<Directory> ブロックまたは .htaccess ファイル内) で
+ 使用するよう設計されているため、<code>-f</code> チェックは
+ 正しいディレクトリパスを参照します。作業しているディレクトリベースを
+ 指定するために <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>
+ ディレクティブを設定する必要があるかもしれません。</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="canonicalhost" id="canonicalhost">正規ホスト名</a> <a title="Permanent link" href="#canonicalhost" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>このルールの目的は、同じサイトに到達するために使用される
+ 可能性のある他のホスト名よりも、特定のホスト名の使用を強制
+ することです。例えば、<strong>example.com</strong> の代わりに
+ <strong>www.example.com</strong> の使用を強制したい場合は、
+ 以下のレシピのバリアントを使用できます。</dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+
+<p>最善の方法は <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> をまったく使わず、
+非正規のホスト名用のバーチャルホストに配置した <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code> ディレクティブを使用する
+ことです。</p>
+
+<pre class="prettyprint lang-config"><VirtualHost *:80>
+ ServerName undesired.example.com
+ ServerAlias example.com notthis.example.com
+
+ Redirect "/" "http://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:80>
+ ServerName www.example.com
+</VirtualHost></pre>
+
+
+<p>あるいは、<code class="directive"><a href="../mod/core.html#if"><If></a></code>
+ディレクティブを使用して実現することもできます:
+(<strong>2.4 以降</strong>)</p>
+
+<pre class="prettyprint lang-config"><If "%{HTTP_HOST} != 'www.example.com'">
+ Redirect "/" "http://www.example.com/"
+</If></pre>
+
+
+<p>あるいは、例えばサイトの一部を HTTPS にリダイレクトするには、
+以下のようにします:</p>
+
+<pre class="prettyprint lang-config"><If "%{SERVER_PROTOCOL} != 'HTTPS'">
+ Redirect "/admin/" "https://www.example.com/admin/"
+</If></pre>
+
+
+<p>何らかの理由でまだ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を使用したい場合 -
+例えば、より大きな RewriteRule のセットと組み合わせる必要がある場合 -
+以下のレシピのいずれかを使用できます。</p>
+
+<p>ポート 80 以外で実行されているサイトの場合:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteCond "%{SERVER_PORT}" "!^80$"
+RewriteRule "^/?(.*)" "http://www.example.com:%{SERVER_PORT}/$1" [L,R,NE]</pre>
+
+
+<p>ポート 80 で実行されているサイトの場合:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.example.com/$1" [L,R,NE]</pre>
+
+
+ <p>
+ すべてのドメイン名に対してこれを汎用的に行いたい場合 -
+ つまり、<strong>example.com</strong> のすべての可能な値に対して
+ <strong>example.com</strong> を <strong>www.example.com</strong>
+ にリダイレクトしたい場合 - 以下のレシピを使用できます:</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\." [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.%{HTTP_HOST}/$1" [L,R,NE]</pre>
+
+
+ <p>これらのルールセットは、メインサーバ設定ファイルまたはサーバの
+ <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> に配置した
+ <code>.htaccess</code> ファイルのいずれでも動作します。</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="multipledirs" id="multipledirs">複数のディレクトリでのページ検索</a> <a title="Permanent link" href="#multipledirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>特定のリソースが複数の場所に存在する可能性があり、
+ リクエスト時にそれらの場所でリソースを検索したいとします。
+ おそらく最近ディレクトリ構造を再編成し、コンテンツを
+ 複数の場所に分割したためです。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>以下のルールセットは 2 つのディレクトリでリソースを検索し、
+ どちらにも見つからない場合は、リクエストされた場所からそのまま
+ 提供しようとします。</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+# first try to find it in dir1/...
+# ...and if found stop and be happy:
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir1</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir1</strong>/$1" [L]
+
+# second try to find it in dir2/...
+# ...and if found stop and be happy:
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir2</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir2</strong>/$1" [L]
+
+# else go on for other Alias or ScriptAlias directives,
+# etc.
+RewriteRule "^" "-" [PT]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="archive-access-multiplexer" id="archive-access-multiplexer">地理的に分散されたサーバへのリダイレクト</a> <a title="Permanent link" href="#archive-access-multiplexer" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>ウェブサイトの多数のミラーがあり、アクセス元の国に最も近い
+ ミラーにリダイレクトしたいとします。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>リクエスト元のクライアントのホスト名を参照して、どの国から
+ アクセスしているかを判定します。IP アドレスの検索ができない場合は、
+ デフォルトサーバにフォールバックします。</p>
+ <p>使用したいサーバのリストを構築するために <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> ディレクティブを
+ 使用します。</p>
+
+<pre class="prettyprint lang-config">HostnameLookups on
+RewriteEngine on
+RewriteMap multiplex "txt:/path/to/map.mirrors"
+RewriteCond "%{REMOTE_HOST}" "([a-z]+)$" [NC]
+RewriteRule "^/(.*)$" "${multiplex:<strong>%1</strong>|http://www.example.com/}$1" [R,L]</pre>
+
+
+<div class="example"><p><code>
+## map.mirrors -- マルチプレクシングマップ<br />
+<br />
+de http://www.example.de/<br />
+uk http://www.example.uk/<br />
+com http://www.example.com/<br />
+##EOF##
+</code></p></div>
+ </dd>
+
+ <dt>議論</dt>
+ <dd>
+ <div class="warning">このルールセットは
+ <code class="directive"><a href="../mod/core.html#hostnamelookups">HostNameLookups</a></code> が
+ <code>on</code> に設定されていることに依存しており、
+ パフォーマンスに大きな影響を与える可能性があります。</div>
+
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+ ディレクティブは、リクエスト元のクライアントのホスト名の最後の
+ 部分 (国コード) をキャプチャし、後続の RewriteRule はその値を
+ 使用してマップファイルから適切なミラーホストを検索します。</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="canonicalurl" id="canonicalurl">正規 URL</a> <a title="Permanent link" href="#canonicalurl" class="permalink">¶</a></h2>
+
+
+
+<dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>一部のウェブサーバでは、リソースに対して複数の URL が存在します。
+ 通常、正規の URL (実際に使用および配布される URL) と、単なる
+ ショートカット、内部用の URL 等があります。ユーザがリクエストで
+ どの URL を提供したかに関係なく、最終的にブラウザのアドレスバーに
+ 正規の URL が表示されるようにしたいとします。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>すべての非正規 URL に対して外部 HTTP リダイレクトを行い、
+ ブラウザの表示を修正し、以降のすべてのリクエストに反映させます。
+ 以下のルールセット例では、<code>/puppies</code> と
+ <code>/canines</code> を正規の <code>/dogs</code> に
+ 置き換えます。</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/(puppies|canines)/(.*)" "/dogs/$2" [R]</pre>
+
+ </dd>
+
+ <dt>議論:</dt>
+ <dd>
+ これは実際には Redirect または RedirectMatch ディレクティブで
+ 実現すべきです:
+
+ <pre class="prettyprint lang-config">RedirectMatch "^/(puppies|canines)/(.*)" "/dogs/$2"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="moveddocroot" id="moveddocroot"><code>DocumentRoot</code> の移動</a> <a title="Permanent link" href="#moveddocroot" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+<p>通常、ウェブサーバの <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
+は URL "<code>/</code>" に直接対応します。
+しかし、このデータが最優先ではない場合も多くあります。例えば、
+訪問者がサイトに最初にアクセスしたときに特定のサブディレクトリ
+<code>/about/</code> に移動させたい場合があります。これは以下の
+ルールセットで実現できます:</p>
+</dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+ <p>URL <code>/</code> を <code>/about/</code> にリダイレクトします:
+ </p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/$" "/about/" [<strong>R</strong>]</pre>
+
+
+<p>これは <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code>
+ディレクティブでも処理できることに注意してください:</p>
+
+<pre class="prettyprint lang-config">RedirectMatch "^/$" "http://example.com/about/"</pre>
+
+
+<p>この例はルート URL のみを書き換えることに注意してください。つまり、
+<code>http://example.com/</code> へのリクエストは書き換えますが、
+<code>http://example.com/page.html</code> へのリクエストは書き換えません。
+実際にドキュメントルートを変更した場合 - つまり、コンテンツの
+<strong>すべて</strong>が実際にそのサブディレクトリにある場合 - URL を
+書き換えるよりも、単に <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
+ディレクティブを変更するか、すべてのコンテンツを 1 つ上のディレクトリに
+移動する方がはるかに望ましいです。</p>
+</dd>
+</dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="fallback-resource" id="fallback-resource">フォールバックリソース</a> <a title="Permanent link" href="#fallback-resource" class="permalink">¶</a></h2>
+
+
+<dl>
+<dt>説明:</dt>
+<dd>特定のディレクトリに来るすべてのリクエストを単一のリソース
+(例えば特定のファイル、index.php など) で処理したいが、
+画像や CSS ファイルなどの既存のリソースへのリクエストは
+そのまま処理したいとします。</dd>
+
+<dt>解決方法:</dt>
+<dd>
+<p>バージョン 2.2.16 以降では、このために <code class="directive"><a href="../mod/mod_dir.html#fallbackresource">FallbackResource</a></code> ディレクティブを
+使用してください:</p>
+
+<pre class="prettyprint lang-config"><Directory "/var/www/my_blog">
+ FallbackResource index.php
+</Directory></pre>
+
+
+<p>ただし、以前のバージョンの Apache や、これよりも複雑なニーズがある
+場合は、以下の書き換えセットのバリエーションを使用して同じことを
+実現できます:</p>
+
+<pre class="prettyprint lang-config"><Directory "/var/www/my_blog">
+ RewriteBase "/my_blog"
+
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-f
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-d
+ RewriteRule "^" "index.php" [PT]
+</Directory></pre>
+
+
+<p>一方、リクエストされた URI をクエリ文字列引数として index.php に
+渡したい場合は、その RewriteRule を以下に置き換えることができます:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "(.*)" "index.php?$1" [PT,QSA]</pre>
+
+
+<p>これらのルールセットは <code>.htaccess</code> ファイルでも
+<Directory> ブロックでも使用できることに注意してください。</p>
+
+</dd>
+
+</dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewrite-query" id="rewrite-query">クエリ文字列の書き換え</a> <a title="Permanent link" href="#rewrite-query" class="permalink">¶</a></h2>
+
+
+<dl>
+<dt>説明:</dt>
+<dd>クエリ文字列から特定の値をキャプチャし、それを置換するか
+URL の別のコンポーネントに組み込みたいとします。</dd>
+
+<dt>解決方法:</dt>
+<dd>
+<p>このセクションの多くの解決方法は同じ条件を使用し、マッチした値を
+%2 バックリファレンスに残します。%1 はクエリ文字列の先頭 (対象キーまで)、
+%3 は残りの部分です。この条件は、柔軟性のため、また置換で二重の
+'&&' を避けるためにやや複雑です。</p>
+<ul>
+ <li>この方法はマッチするキーと値を削除します:
+
+<pre class="prettyprint lang-config"># Remove mykey=???
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1?%1%3"</pre>
+
+ </li>
+
+ <li>この方法はキャプチャした値を URL 置換で使用し、'?' を追加して
+ 元のクエリの残りを破棄します:
+
+<pre class="prettyprint lang-config"># Copy from query string to PATH_INFO
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1/products/%2/?" [PT]</pre>
+
+ </li>
+
+ <li>この方法は後続の条件でキャプチャした値を確認します:
+
+<pre class="prettyprint lang-config"># Capture the value of mykey in the query string
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteCond "%2" !=not-so-secret-value
+RewriteRule "(.*)" "-" [F]</pre>
+
+ </li>
+
+ <li>この方法は前の方法の逆で、URL からパスコンポーネント
+ (おそらく PATH_INFO) をクエリ文字列にコピーします:
+<pre class="prettyprint lang-config"># The desired URL might be /products/kitchen-sink, and the script expects
+# /path?products=kitchen-sink.
+RewriteRule "^/?path/([^/]+)/([^/]+)" "/path?$1=$2" [PT]</pre>
+
+ </li>
+</ul>
+
+</dd>
+
+</dl>
+</div></div>
+<div class="bottomlang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/remapping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.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="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="EUC-KR"?>
+<!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="ko" xml:lang="ko"><head>
+<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_rewriteë¥� �¬ì�©í�� 리ë�¤ì�´ë����ê³� �¬ë§¤�� - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewriteë¥� �¬ì�©í�� 리ë�¤ì�´ë����ê³� �¬ë§¤��</h1>
+<div class="toplang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/remapping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>�� 문��� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">참조 문ì��</a>ë¥� ë³´ì¶©�©ë����.
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥� �¬ì�©í���� ��ì²��� 리ë�¤ì�´ë���¸í��ê³�
+�¬ë§¤������ ë°©ë��� �¤ë��©ë����. �¬ê¸°����
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� �¼ë����� �¬ì�� ����ê°� ë§���
+�¬í�¨ë���� ���¼ë©°, ê°�ê°��� �´ë�»ê� ��������ì§��� ���� ���¸í��
+�¤ë��� ���µë����.</p>
+
+<div class="warning">�� ������ ì¤� ë§��� ê²��� �¹ì�� ��ë²� �¤ì������
+ê·¸ë��ë¡� ������ì§� ���� �� ���¼ë��ë¡�, �¨ì���� ����ë¥� ë³µì�¬í����
+�¤ì���� ë¶��¬ë�£ê¸°ë³´ë�¤ë�� �´í�´í���� ê²��� ì¤����©ë����.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#old-to-new">�´ì������ ��ë¡��� ê²��¼ë� (�´ë�)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#old-to-new-extern">�´ì������ ��ë¡��� ê²��¼ë� �¬ì���� (�¸ë�)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#movehomedirs">�¤ë¥¸ ��ë²�ë¡� �´ë���� ����</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#static-to-dynamic">�������� �����¼ë�</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#backward-compatibility">���� ���¥ì�� ë³�ê²½ì�� ���� ���� �¸í����</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#canonicalhost">��ê·� �¸ì�¤í�¸ë�</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#multipledirs">�¬ë�� ������리ì���� ���´ì� ê²���</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#archive-access-multiplexer">ì§�리ì���¼ë� ë¶��°ë�� ��ë²�ë¡��� 리ë�¤ì�´ë����</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#canonicalurl">��� URL</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#moveddocroot">�´ë���� <code>DocumentRoot</code></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#fallback-resource">��� ����</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewrite-query">쿼리 문ì���� �¬ì����</a></li>
+</ul><h3>Âü°í</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">모ë�� 문ì��</a></li><li><a href="intro.html">mod_rewrite ��ê°�</a></li><li><a href="access.html">��ê·� ����</a></li><li><a href="vhosts.html">ê°��� �¸ì�¤í��</a></li><li><a href="proxy.html">��ë¡���</a></li><li><a href="rewritemap.html">RewriteMap �¬ì�©í��ê¸�</a></li><li><a href="advanced.html">ê³�ê¸� 기ì��</a></li><li><a href="avoid.html">mod_rewriteë¥� �¬ì�©í��ì§� ë§����� �� ê²½ì��</a></li><li><a href="#comments_section">Comments</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="old-to-new" id="old-to-new">�´ì������ ��ë¡��� ê²��¼ë� (�´ë�)</a> <a title="Permanent link" href="#old-to-new" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>ìµ�ê·¼ì�� <code>foo.html</code> ���´ì�ë¥�
+ <code>bar.html</code>ë¡� �´ë��� ë³�ê²½í��ê³� �´ì�� URL��
+ ���� �¸í���±ì�� ���� ��ê³µí��ê³��� ���¤ê� ê°����©ë����.
+ ê·¸ë�¬ë�� �´ì�� URL�� �¬ì�©ì��ê°� ���´ì� �´ë��� ë³�ê²½ë�� ê²���
+ �¸ì����ì§� 못í��ê²� ��ê³� �¶ì�µë����. ì¦�, ë¸��¼ì�°ì������
+ 주ì��ê°� ë³�ê²½ë��ì§� ������ �©ë����.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>�¤ì�� ê·�ì¹��� �µí�� �´ì�� URL�� �� URLë¡� �´ë����¼ë�
+ �¬ì���±í�©ë����:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>/bar</strong>.html" [PT]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="old-to-new-extern" id="old-to-new-extern">�´ì������ ��ë¡��� ê²��¼ë� �¬ì���� (�¸ë�)</a> <a title="Permanent link" href="#old-to-new-extern" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>�¤ì�� ìµ�ê·¼ì�� <code>foo.html</code> ���´ì�ë¥�
+ <code>bar.html</code>ë¡� �´ë��� ë³�ê²½í��ê³� �´ì�� URL��
+ ���� �¸í���±ì�� ���� ��ê³µí��ê³��� ���¤ê� ê°����©ë����.
+ ê·¸ë�¬ë�� �´ë����� �´ì�� URL�� �¬ì�©ì����ê²� �� URL��
+ ���¤ì£¼ê³� �¶ì�µë����. ì¦�, ë¸��¼ì�°ì���� ��ì¹� ������
+ ë³�ê²½ë���´ì�� �©ë����.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>ë¸��¼ì�°ì���� �¬ì�©ì���� 보기ë¥� ë³�ê²½í���� �� URLë¡���
+ HTTP 리ë�¤ì�´ë���¸ë�� ê°����©ë����:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>bar</strong>.html" [<strong>R</strong>]</pre>
+
+</dd>
+
+<dt>���</dt>
+
+ <dd>
+ <p>�� ���������� ���� <a href="#old-to-new-intern">�´ë�</a>
+ ������ ��ì¡°ì���¼ë� �¨ì���� Redirect ì§����´ë�� �¬ì�©í�� ��
+ ���µë����. <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� �´ë�¼ì�´ì�¸í�¸ë�ë¶���
+ 리ë�¤ì�´ë���¸ë�� �¨ê¸°ê¸� ���� �´ì�� �������� �¬ì�©ë�����µë����:</p>
+
+ <pre class="prettyprint lang-config">Redirect "/foo.html" "/bar.html"</pre>
+
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="movehomedirs" id="movehomedirs">�¤ë¥¸ ��ë²�ë¡� �´ë���� ����</a> <a title="Permanent link" href="#movehomedirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>������ �¤ë¥¸ ��ë²�ë¡� �´ë���� ê²½ì��, �¬ë���¤ì�� ë¶�ë§��¬ë��
+ ���°ì�´í�¸í���� ���� �´ì�� ��ë²����� URL�� ������ ê³���
+ ������기ë�� ���� �� ���µë����.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥� �¬ì�©í���� �´ë�¬í�� URL��
+ �� ��ë²�ë¡� 리ë�¤ì�´ë���¸í�� �� ��ì§�ë§�, Redirect ����
+ RedirectMatch ì§����´ë�� �¬ì�©í���� ê²��� ê³��¤í�� ��
+ ���µë����.</p>
+
+<pre class="prettyprint lang-config">#With mod_rewrite
+RewriteEngine on
+RewriteRule "^/docs/(.+)" "http://new.example.com/docs/$1" [R,L]</pre>
+
+
+<pre class="prettyprint lang-config">#With RedirectMatch
+RedirectMatch "^/docs/(.*)" "http://new.example.com/docs/$1"</pre>
+
+
+<pre class="prettyprint lang-config">#With Redirect
+Redirect "/docs/" "http://new.example.com/docs/"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="static-to-dynamic" id="static-to-dynamic">�������� �����¼ë�</a> <a title="Permanent link" href="#static-to-dynamic" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>���� ���´ì� <code>foo.html</code>�� ���� ë³�����
+ <code>foo.cgi</code>ë¡� ë¸��¼ì�°ì��/�¬ì�©ì��ê°� �¸ì����ì§�
+ 못í����ë¡� 매ë���½ê� ë³������� ë°©ë�������.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>URL�� CGI �¤í�¬ë¦½�¸ë� �¬ì���±í��ê³� �¸ë�¤ë�¬ë��
+ <strong>cgi-script</strong>ë¡� ê°������� CGI ��ë¡�ê·¸ë�¨ì�¼ë�
+ �¤í���©ë����. �´ë��ê²� ��ë©� <code>/~quux/foo.html</code>��
+ ���� ��ì²��� �´ë����¼ë� <code>/~quux/foo.cgi</code>��
+ �¸ì�ë¡� �´ì�´ì�����.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteBase "/~quux/"
+RewriteRule "^foo\.html$" "foo.cgi" [H=<strong>cgi-script</strong>]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="backward-compatibility" id="backward-compatibility">���� ���¥ì�� ë³�ê²½ì�� ���� ���� �¸í����</a> <a title="Permanent link" href="#backward-compatibility" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p><code>document.YYYY</code>����
+ <code>document.XXXX</code>ë¡� ë§��´ê·¸���´ì���� ��,
+ ��ë¥� �¤ì�� <code>.html</code> ���� 묶ì����
+ <code>.php</code>ë¡� ë³����� ��, URL�� ���� �¸í����ê²�
+ (�¬ì���� ê°����¼ë� ì¡´ì��) ë§����� ë°©ë��� 무ì������ê¹�?</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>�� ���¥ì��ë¥� ê°�ì§� ���� ���¼ì�� ì¡´ì�¬í��ê³� �´ì��
+ ���¥ì��ë¥� ê°�ì§� ���� ���¼ì�� ì¡´ì�¬í��ì§� ���� ê²½ì�°ì��ë§�
+ �´ì�� ���¥ì������ �� ���¥ì��ë¡� URL�� �¬ì���±í�©ë����.
+ ê·¸ë��ì§� ���¼ë©´ URL�� ë³�ê²½ë��ì§� ���µë����.</p>
+
+<pre class="prettyprint lang-config"># backward compatibility ruleset for
+# rewriting document.html to document.php
+# when and only when document.php exists
+<Directory "/var/www/htdocs">
+ RewriteEngine on
+ RewriteBase "/var/www/htdocs"
+
+ RewriteCond "$1.php" -f
+ RewriteCond "$1.html" !-f
+ RewriteRule "^(.*).html$" "$1.php"
+</Directory></pre>
+
+ </dd>
+
+ <dt>���</dt>
+ <dd>
+ <p>�� ������ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� �� �과���
+ 기ë�¥ì�� �¬ì�©í��ë©�, ê·�ì¹� �¸í�¸ì�� �¤í�� ����ë¥� ���©í�©ë����.
+ �¹í�� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� RewriteCond ì§����´ë��
+ ��ê°���ê¸� ���� RewriteRule�� �¼ìª½�� 먼ì�� ��ê°��©ë����.
+ �°ë�¼ì�� RewriteCond ì§����´ê� ��ê°��� �� $1�� �´ë��
+ �����©ë����. �´ë�� �µí�� ���¼í�� 기본 ���¼ë��� �¬ì�©í����
+ ���(<code>document.html</code>)� ����
+ (<code>document.php</code>) ���¼ì�� ì¡´ì�¬ë�� ���¤í�¸í�� ��
+ ���µë����.</p>
+
+ <p>�� ê·�ì¹� �¸í�¸ë�� ������리ë� 컨í���¤í��(<Directory>
+ ë¸�ë¡� ���� .htaccess ����)���� �¬ì�©í����ë¡� �¤ê�����
+ <code>-f</code> ê²��¬ê� �¬ë�ë¥� ������ë¦� ê²½ë�ë¥� ���¸í�©ë����.
+ ���� ì¤��� ������ë¦� 기본�� ì§�����ê¸� ���� <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> ì§����´ë��
+ �¤ì���´ì�� �� �� ���µë����.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="canonicalhost" id="canonicalhost">��ê·� �¸ì�¤í�¸ë�</a> <a title="Permanent link" href="#canonicalhost" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>�� ê·�ì¹��� 목í���� �¬ì�´í�¸ì�� ���¬í���� �� �¬ì�©í�� ��
+ ���� �¤ë¥¸ �¸ì�¤í�¸ë� ���� �¹ì�� �¸ì�¤í�¸ë��� �¬ì�©ì��
+ ê°������� ê²�������. ��ë¥� �¤ì��,
+ <strong>example.com</strong> ����
+ <strong>www.example.com</strong>�� �¬ì�©ì�� ê°������¤ë©´
+ �¤ì�� �����¼ì�� ë³����� �¬ì�©í�� �� ���µë����.</dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+
+<p>�´ë�� �´ê²°���� ê°��� ì¢��� ë°©ë��� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥�
+���� �¬ì�©í��ì§� ��ê³�, ë¹���ê·� �¸ì�¤í�¸ë��� ���� ê°��� �¸ì�¤í�¸ì��
+<code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code> ì§����´ë��
+배���� �������.</p>
+
+<pre class="prettyprint lang-config"><VirtualHost *:80>
+ ServerName undesired.example.com
+ ServerAlias example.com notthis.example.com
+
+ Redirect "/" "http://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:80>
+ ServerName www.example.com
+</VirtualHost></pre>
+
+
+<p><code class="directive"><a href="../mod/core.html#if"><If></a></code>
+ì§����´ë�� �¬ì�©í���� �´ë�� ������ ���� ���µë����:
+(<strong>2.4 �´ì��</strong>)</p>
+
+<pre class="prettyprint lang-config"><If "%{HTTP_HOST} != 'www.example.com'">
+ Redirect "/" "http://www.example.com/"
+</If></pre>
+
+
+<p>���� ��ë¥� �¤ì�� �¬ì�´í�¸ì�� �¼ë�ë¥� HTTPSë¡� 리ë�¤ì�´ë���¸í���¤ë©´
+�¤ì��ê³� ê°��� �� �� ���µë����:</p>
+
+<pre class="prettyprint lang-config"><If "%{SERVER_PROTOCOL} != 'HTTPS'">
+ Redirect "/admin/" "https://www.example.com/admin/"
+</If></pre>
+
+
+<p>�´ë�� �´ì��ë¡��� �¬ì���� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥�
+�¬ì�©í��ê³� �¶ë�¤ë©´ - ��ë¥� �¤ì��, �� �� RewriteRules �¸í�¸ì��
+�¨ê� �¬ì�©í�´ì�� ���� ê²½ì�� - ���� ������ ì¤� ����ë¥� �¬ì�©í�� ��
+���µë����.</p>
+
+<p>�¬í�� 80�� ���� �¤ë¥¸ �¬í�¸ì���� �¤í������ �¬ì�´í�¸ì�� ê²½ì��:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteCond "%{SERVER_PORT}" "!^80$"
+RewriteRule "^/?(.*)" "http://www.example.com:%{SERVER_PORT}/$1" [L,R,NE]</pre>
+
+
+<p>그리ê³� �¬í�� 80���� �¤í������ �¬ì�´í�¸ì�� ê²½ì��:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.example.com/$1" [L,R,NE]</pre>
+
+
+ <p>
+ 모ë�� ��ë©��� �´ë��� ���� �´ë�� �¼ë����¼ë� ������ê³�
+ �¶ë�¤ë©´ - ì¦�, 모ë�� ê°��¥í�� ê°���
+ <strong>example.com</strong>�� ����
+ <strong>example.com</strong>��
+ <strong>www.example.com</strong>�¼ë� 리ë�¤ì�´ë���¸í���¤ë©´
+ �¤ì�� �����¼ë�� �¬ì�©í�� �� ���µë����:</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\." [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.%{HTTP_HOST}/$1" [L,R,NE]</pre>
+
+
+ <p>�� ê·�ì¹� �¸í�¸ë�� ì£� ��ë²� �¤ì�� ���¼ì�´ë�� ��ë²���
+ <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>�� ����
+ <code>.htaccess</code> ���¼ì���� 모ë�� �����©ë����.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="multipledirs" id="multipledirs">�¬ë�� ������리ì���� ���´ì� ê²���</a> <a title="Permanent link" href="#multipledirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>�¹ì�� ������ �¬ë�� ��ì¹� ì¤� ������ ì¡´ì�¬í�� �� ���¼ë©°,
+ ��ì²� �� �´ë�� ��ì¹����� ������ ì°¾ê��� �©ë����. ��ë§���
+ ìµ�ê·¼ì�� ������ë¦� 구조ë¥� �¬í�¸í���� ì½���ì¸�ë¥� �¬ë��
+ ���� �������� �������.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>�¤ì�� ê·�ì¹� �¸í�¸ë�� �� ������리ì���� ������ ê²�����ê³�,
+ �´ë�� ê³³ì������ ì°¾ì� 못í��ë©� ��ì²��� ��ì¹����� ê·¸ë��ë¡�
+ ��ê³µí���¤ê� �����©ë����.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+# 먼� dir1/���� 찾������...
+# ...찾�면 ��� �족����:
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir1</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir1</strong>/$1" [L]
+
+# �¤ì���¼ë� dir2/���� ì°¾ì��ë´�����...
+# ...찾�면 ��� �족����:
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir2</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir2</strong>/$1" [L]
+
+# ê·¸ë��ì§� ���¼ë©´ �¤ë¥¸ Alias ���� ScriptAlias ì§����� �±ì��
+# ���� ê³����©ë����.
+RewriteRule "^" "-" [PT]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="archive-access-multiplexer" id="archive-access-multiplexer">ì§�리ì���¼ë� ë¶��°ë�� ��ë²�ë¡��� 리ë�¤ì�´ë����</a> <a title="Permanent link" href="#archive-access-multiplexer" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>�¹ì�¬ì�´í�¸ì�� �¬ë�� 미ë�¬ê� ���¼ë©°, �¬ì�©ì��ê°� ��ì¹���
+ êµ�ê°��� ���� 미ë�¬ë� �¬ì�©ì��ë¥� 리ë�¤ì�´ë���¸í��ê³��� �©ë����.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>��ì²����� �´ë�¼ì�´ì�¸í�¸ì�� �¸ì�¤í�¸ë��� ���¸í���� �´ë��
+ êµ�ê°����� �¤ë��ì§� ���¨í�©ë����. IP 주ì�� ì¡°í��ê°� ë¶�ê°��¥í��
+ ê²½ì�� 기본 ��ë²�ë¡� �´ë°±�©ë����.</p>
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ ì§����´ë�� �¬ì�©í���� �¬ì�©í�� ��ë²� 목ë��� ���±í�©ë����.</p>
+
+<pre class="prettyprint lang-config">HostnameLookups on
+RewriteEngine on
+RewriteMap multiplex "txt:/path/to/map.mirrors"
+RewriteCond "%{REMOTE_HOST}" "([a-z]+)$" [NC]
+RewriteRule "^/(.*)$" "${multiplex:<strong>%1</strong>|http://www.example.com/}$1" [R,L]</pre>
+
+
+<div class="example"><p><code>
+## map.mirrors -- ë©��°í������ ë§�<br />
+<br />
+de http://www.example.de/<br />
+uk http://www.example.uk/<br />
+com http://www.example.com/<br />
+##EOF##
+</code></p></div>
+ </dd>
+
+ <dt>���</dt>
+ <dd>
+ <div class="warning">�� ê·�ì¹� �¸í�¸ë��
+ <code class="directive"><a href="../mod/core.html#hostnamelookups">HostNameLookups</a></code>ê°�
+ <code>on</code>�¼ë� �¤ì������ ���´ì�� ��ë©�, �´ë�� ���¹í��
+ �±ë�� ����ë¥� ì´����� �� ���µë����.</div>
+
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+ ì§����´ë�� ��ì²����� �´ë�¼ì�´ì�¸í�¸ì�� �¸ì�¤í�¸ë��� ë§�ì§�ë§�
+ ë¶�ë¶��� êµ�ê°� ì½���ë¥� 캡ì���ê³�, �¤ì�� RewriteRule��
+ �´ë�� ê°��� �¬ì�©í���� ë§� ���¼ì���� ������ 미ë�� �¸ì�¤í�¸ë��
+ ì¡°í���©ë����.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="canonicalurl" id="canonicalurl">��ê·� URL</a> <a title="Permanent link" href="#canonicalurl" class="permalink">¶</a></h2>
+
+
+
+<dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>�¼ë� �� ��ë²����� ������ ������ ���� �� �´ì����
+ URL�� ���µë����. ë³´í�� �¤ì��ë¡� �¬ì�©ë��ê³� ë°°í�¬ë����
+ ��ê·� URL�� ��ê³�, �¨ì���, �´ë��� �±ì�� URL�� ���µë����.
+ �¬ì�©ì��ê°� ��ì²�ê³� �¨ê� �´ë�� URL�� ��ê³µí����ì§���
+ ê´�ê³����� ìµ�ì¢����¼ë� ë¸��¼ì�°ì�� 주ì�� ����ì¤���
+ ��ê·� URL�� �������´ì�� �©ë����.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>모ë�� ë¹���ê·� URL�� ���� �¸ë� HTTP 리ë�¤ì�´ë���¸ë��
+ �������� ë¸��¼ì�°ì���� ��ì¹� 보기�� 모ë�� ���� ��ì²�����
+ �´ë�� �����©ë����. ���� ���� ê·�ì¹� �¸í�¸ì����
+ <code>/puppies</code>�� <code>/canines</code>�
+ ��� <code>/dogs</code>� ��체����.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/(puppies|canines)/(.*)" "/dogs/$2" [R]</pre>
+
+ </dd>
+
+ <dt>���:</dt>
+ <dd>
+ �´ê��� �¤ì��ë¡� Redirect ���� RedirectMatch ì§����´ë�
+ �����´ì�� �©ë����:
+
+ <pre class="prettyprint lang-config">RedirectMatch "^/(puppies|canines)/(.*)" "/dogs/$2"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="moveddocroot" id="moveddocroot">�´ë���� <code>DocumentRoot</code></a> <a title="Permanent link" href="#moveddocroot" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+<p>보� �� ����� <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>��
+URL "<code>/</code>"�� ì§��� ê´��¨ë�©ë����. ê·¸ë�¬ë�� ì¢�ì¢� �� �°ì�´í�°ë��
+�¤ì��ë¡� ìµ����� �°ì�� ����ê°� ��������. ��ë¥� �¤ì��, �¬ì�´í�¸ì��
+ì²��� 방문���� 방문��ê°� �¹ì�� ���� ������ë¦�
+<code>/about/</code>�¼ë� �´ë����기ë�� ���� �� ���µë����.
+�¤ì�� ê·�ì¹� �¸í�¸ë�� �¬ì�©í���� �´ë�� ������ �� ���µë����:</p>
+</dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+ <p>URL <code>/</code>ë¥� <code>/about/</code>�¼ë�
+ 리ë�¤ì�´ë���¸í�©ë����:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/$" "/about/" [<strong>R</strong>]</pre>
+
+
+<p>�´ê��� <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code>
+ì§����´ë�� �¬ì�©í���¬ë�� ì²�리í�� �� ���µë����:</p>
+
+<pre class="prettyprint lang-config">RedirectMatch "^/$" "http://example.com/about/"</pre>
+
+
+<p>���� �� ������ 루í�� URLë§� �¬ì���±í�©ë����. ì¦�,
+<code>http://example.com/</code>�� ���� ��ì²�ë§� �¬ì���±í��ê³�
+<code>http://example.com/page.html</code>�� ���� �����
+�¬ì���±í��ì§� ���µë����. �¤ì��ë¡� 문ì�� 루í�¸ë�� ë³�ê²½í�� ê²½ì�� -
+ì¦�, <strong>모ë��</strong> ì½���ì¸�ê°� �¤ì��ë¡� �´ë��
+���� ������리ì�� ���� ê²½ì�� - URL�� �¬ì���±í���� ê²�ë³´ë��
+<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> ì§����´ë��
+ë³�ê²½í��ê±°ë�� 모ë�� ì½���ì¸�ë¥� �� ������ë¦� ��ë¡� �´ë������ ê²���
+�¨ì�� ì¢��µë����.</p>
+</dd>
+</dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="fallback-resource" id="fallback-resource">��ì²� ����</a> <a title="Permanent link" href="#fallback-resource" class="permalink">¶</a></h2>
+
+
+<dl>
+<dt>�¤ë�:</dt>
+<dd>�¹ì�� ������리ë� �¤ë�� 모ë�� ��ì²��� �¨ì�� ����(��ë¥� �¤ì��
+index.php�� ê°��� �¹ì�� ����)�¼ë� ì²�리í��ê³� �¶ì�ë§�, �´ë�¸ì���
+css ���¼ê³¼ ê°��� 기존 ������ ���� ��ì²��� ���¸í��ê³��� �©ë����.</dd>
+
+<dt>�´ê²°ì±�:</dt>
+<dd>
+<p>ë²��� 2.2.16ë¶��� �´ë�� ���� <code class="directive"><a href="../mod/mod_dir.html#fallbackresource">FallbackResource</a></code> ì§����´ë��
+�¬ì�©í�´ì�� �©ë����:</p>
+
+<pre class="prettyprint lang-config"><Directory "/var/www/my_blog">
+ FallbackResource index.php
+</Directory></pre>
+
+
+<p>ê·¸ë�¬ë�� �´ì�� ë²����� Apache���� ���� ��êµ� �¬í���� �´ë³´��
+�� ë³µì�¡í�� ê²½ì�� ���¼í�� ê²��� �¬ì�±í��ê¸� ���� �¤ì�� �¬ì����
+�¸í�¸ì�� ë³����� �¬ì�©í�� �� ���µë����:</p>
+
+<pre class="prettyprint lang-config"><Directory "/var/www/my_blog">
+ RewriteBase "/my_blog"
+
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-f
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-d
+ RewriteRule "^" "index.php" [PT]
+</Directory></pre>
+
+
+<p>ë°�ë©´ì��, ��ì²��� URIë¥� index.php�� 쿼리 문ì���� �¸ì��ë¡�
+���¬í���¤ë©´ �´ë�� RewriteRule�� �¤ì���¼ë� ��ì²´í�� �� ���µë����:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "(.*)" "index.php?$1" [PT,QSA]</pre>
+
+
+<p>�� ê·�ì¹� �¸í�¸ë�� <code>.htaccess</code> ���¼ë�ë§� ������
+<Directory> ë¸�ë¡������� �¬ì�©í�� �� ���µë����.</p>
+
+</dd>
+
+</dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewrite-query" id="rewrite-query">쿼리 문ì���� �¬ì����</a> <a title="Permanent link" href="#rewrite-query" class="permalink">¶</a></h2>
+
+
+<dl>
+<dt>�¤ë�:</dt>
+<dd>쿼리 문ì���´ì���� �¹ì�� ê°��� 캡ì����� ��ì²´í��ê±°ë��
+URL�� �¤ë¥¸ 구ì�� ������ �µí�©í��ê³��� �©ë����.</dd>
+
+<dt>�´ê²°ì±�:</dt>
+<dd>
+<p>�� �¹ì���� ë§��� �´ê²°ì±��� �¼ì��� ê°��� %2 ��참조��
+�¨ê¸°�� ���¼í�� ì¡°ê±´�� �¬ì�©í�©ë����. %1�� 쿼리 문ì���´ì��
+����(ê´��� �¤ê�ì§�)�´ê�, %3�� ��머ì�������. �� ì¡°ê±´��
+���°ì�±ì�� ���� 그리ê³� ì¹������� �´ì�
+'&&'�� �¼í��ê¸� ���� �¤ì�� ë³µì�¡í�©ë����.</p>
+<ul>
+ <li>�� �´ê²°ì±��� �¼ì����� �¤ì�� ê°��� ��ê±°í�©ë����:
+
+<pre class="prettyprint lang-config"># Remove mykey=???
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1?%1%3"</pre>
+
+ </li>
+
+ <li>�� �´ê²°ì±��� 캡ì��� ê°��� URL ì¹����� �¬ì�©í��ê³�
+ ��머ì� ���� 쿼리ë¥� '?'ë¥� ì¶�ê°����� ë²�립ë����:
+
+<pre class="prettyprint lang-config"># Copy from query string to PATH_INFO
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1/products/%2/?" [PT]</pre>
+
+ </li>
+
+ <li>�� �´ê²°ì±��� ���� ì¡°ê±´���� 캡ì��� ê°��� ���¸í�©ë����:
+
+<pre class="prettyprint lang-config"># Capture the value of mykey in the query string
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteCond "%2" !=not-so-secret-value
+RewriteRule "(.*)" "-" [F]</pre>
+
+ </li>
+
+ <li>�� �´ê²°ì±��� �´ì�� ê²��¤ì�� ë°���ë¡�, URL���� ê²½ë�
+ 구ì�� ����(��ë§��� PATH_INFO)ë¥� 쿼리 문ì���´ë� ë³µì�¬í�©ë����.
+<pre class="prettyprint lang-config"># The desired URL might be /products/kitchen-sink, and the script expects
+# /path?products=kitchen-sink.
+RewriteRule "^/?path/([^/]+)/([^/]+)" "/path?$1=$2" [PT]</pre>
+
+ </li>
+</ul>
+
+</dd>
+
+</dl>
+</div></div>
+<div class="bottomlang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/remapping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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>mod_rewrite ile Yeniden Yönlendirme ve Yeniden Eşleme - 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" type="text/javascript">
+</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></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="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.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite ile Yeniden Yönlendirme ve Yeniden Eşleme</h1>
+<div class="toplang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/remapping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</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.
+İstekleri yeniden yönlendirmek ve yeniden eşlemek için
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülünü nasıl kullanabileceğinizi
+açıklar. Her birinin nasıl çalıştığının ayrıntılı açıklamalarını
+içeren birçok <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> kullanım örneği
+sunar.</p>
+
+<div class="warning">Bu örneklerin birçoğunun sizin sunucu yapılandırmanızda
+değişiklik yapılmadan çalışmayacağını unutmayın; bu nedenle örnekleri
+yapılandırmanıza kopyalayıp yapıştırmak yerine anlamanız
+önemlidir.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#old-to-new">Eskiden Yeniye (dahili)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#old-to-new-extern">Eskiden Yeniye Yeniden Yazma (harici)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#movehomedirs">Başka Bir Sunucuya Taşınan Kaynak</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#static-to-dynamic">Statikten Devingene</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#backward-compatibility">Dosya Uzantısı Değişikliği için Geriye Dönük Uyumluluk</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#canonicalhost">Kurallı Konak Adları</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#multipledirs">Birden Fazla Dizinde Sayfa Arama</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#archive-access-multiplexer">Coğrafi Olarak Dağıtılmış Sunuculara Yönlendirme</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#canonicalurl">Kurallı URL'ler</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#moveddocroot">Taşınmış <code>DocumentRoot</code></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#fallback-resource">Yedek Kaynak</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewrite-query">Sorgu Dizgesini Yeniden Yazma</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="intro.html">mod_rewrite'a giriş</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><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="old-to-new" id="old-to-new">Eskiden Yeniye (dahili)</a> <a title="Permanent link" href="#old-to-new" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p><code>foo.html</code> sayfasını yakın zamanda
+ <code>bar.html</code> olarak yeniden adlandırdığımızı ve şimdi
+ geriye dönük uyumluluk için eski URL'yi sağlamak istediğimizi
+ varsayalım. Ancak eski URL kullanıcılarının sayfanın yeniden
+ adlandırıldığını fark etmemesini istiyoruz - yani adresin
+ tarayıcılarında değişmesini istemiyoruz.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>Eski URL'yi aşağıdaki kuralla dahili olarak yenisine yeniden
+ yazıyoruz:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>/bar</strong>.html" [PT]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="old-to-new-extern" id="old-to-new-extern">Eskiden Yeniye Yeniden Yazma (harici)</a> <a title="Permanent link" href="#old-to-new-extern" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>Yine <code>foo.html</code> sayfasını yakın zamanda
+ <code>bar.html</code> olarak yeniden adlandırdığımızı ve şimdi
+ geriye dönük uyumluluk için eski URL'yi sağlamak istediğimizi
+ varsayalım. Ancak bu sefer eski URL kullanıcılarının yeni URL
+ hakkında bilgilendirilmesini istiyoruz, yani tarayıcılarının
+ Konum alanı da değişmeli.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>Tarayıcının ve dolayısıyla kullanıcının görünümünün
+ değişmesini sağlayan yeni URL'ye bir HTTP yönlendirmesi
+ zorluyoruz:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>bar</strong>.html" [<strong>R</strong>]</pre>
+
+</dd>
+
+<dt>Tartışma</dt>
+
+ <dd>
+ <p>Bu örnekte, <a href="#old-to-new-intern">dahili</a> örneğin
+ aksine, basitçe Redirect yönergesini kullanabiliriz. Önceki
+ örnekte <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, yönlendirmeyi istemciden
+ gizlemek için kullanılmıştı:</p>
+
+ <pre class="prettyprint lang-config">Redirect "/foo.html" "/bar.html"</pre>
+
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="movehomedirs" id="movehomedirs">Başka Bir Sunucuya Taşınan Kaynak</a> <a title="Permanent link" href="#movehomedirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>Bir kaynak başka bir sunucuya taşındıysa, insanlar yer
+ imlerini güncellerken URL'lerin eski sunucuda bir süre daha
+ çalışmasını isteyebilirsiniz.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>Bu URL'leri yeni sunucuya yönlendirmek için
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> kullanabilirsiniz, ancak Redirect
+ veya RedirectMatch yönergesini kullanmayı da
+ düşünebilirsiniz.</p>
+
+<pre class="prettyprint lang-config">#mod_rewrite ile
+RewriteEngine on
+RewriteRule "^/docs/(.+)" "http://new.example.com/docs/$1" [R,L]</pre>
+
+
+<pre class="prettyprint lang-config">#RedirectMatch ile
+RedirectMatch "^/docs/(.*)" "http://new.example.com/docs/$1"</pre>
+
+
+<pre class="prettyprint lang-config">#Redirect ile
+Redirect "/docs/" "http://new.example.com/docs/"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="static-to-dynamic" id="static-to-dynamic">Statikten Devingene</a> <a title="Permanent link" href="#static-to-dynamic" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>Statik bir sayfa olan <code>foo.html</code>'yi devingen bir
+ varyant olan <code>foo.cgi</code>'ye tarayıcı/kullanıcı fark
+ etmeden sorunsuz bir şekilde nasıl dönüştürebiliriz?</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>URL'yi CGI betiğine yeniden yazar ve işleyiciyi
+ <strong>cgi-script</strong> olarak zorlayarak bir CGI programı
+ olarak yürütülmesini sağlarız. Böylece
+ <code>/~quux/foo.html</code> isteği dahili olarak
+ <code>/~quux/foo.cgi</code>'nin çağrılmasına yol açar.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteBase "/~quux/"
+RewriteRule "^foo\.html$" "foo.cgi" [H=<strong>cgi-script</strong>]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="backward-compatibility" id="backward-compatibility">Dosya Uzantısı Değişikliği için Geriye Dönük Uyumluluk</a> <a title="Permanent link" href="#backward-compatibility" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p><code>document.YYYY</code>'den <code>document.XXXX</code>'e
+ geçiş yaptıktan sonra, örneğin bir dizi <code>.html</code>
+ dosyasını <code>.php</code>'ye çevirdikten sonra URL'leri nasıl
+ geriye dönük uyumlu (sanal olarak hâlâ mevcut) yapabiliriz?</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>URL, yeni uzantılı hedef dosya mevcutsa ve eski uzantılı
+ orijinal dosya mevcut değilse eski uzantıdan yeni uzantıya
+ yeniden yazılır. Aksi takdirde URL değiştirilmeden bırakılır.</p>
+
+<pre class="prettyprint lang-config"># document.html'yi document.php'ye yeniden yazma
+# için geriye dönük uyumluluk kural kümesi
+# yalnızca document.php varsa
+<Directory "/var/www/htdocs">
+ RewriteEngine on
+ RewriteBase "/var/www/htdocs"
+
+ RewriteCond "$1.php" -f
+ RewriteCond "$1.html" !-f
+ RewriteRule "^(.*).html$" "$1.php"
+</Directory></pre>
+
+ </dd>
+
+ <dt>Tartışma</dt>
+ <dd>
+ <p>Bu örnek, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülünün genellikle
+ gözden kaçan bir özelliğini kullanır: kural kümesinin yürütme
+ sırasından yararlanır. Özellikle, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ RewriteCond yönergelerini değerlendirmeden önce RewriteRule'un
+ sol tarafını değerlendirir. Sonuç olarak, RewriteCond yönergeleri
+ değerlendirildiğinde $1 zaten tanımlanmış olur. Bu, aynı temel
+ dosya adını kullanarak orijinal (<code>document.html</code>) ve
+ hedef (<code>document.php</code>) dosyaların varlığını
+ sınamamıza olanak tanır.</p>
+
+ <p>Bu kural kümesi dizin başına bağlamda (bir <Directory>
+ bloğunda veya bir .htaccess dosyasında) kullanılmak üzere
+ tasarlanmıştır; böylece <code>-f</code> kontrolleri doğru dizin
+ yoluna bakar. Çalıştığınız dizin tabanını belirtmek için bir
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> yönergesi
+ ayarlamanız gerekebilir.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="canonicalhost" id="canonicalhost">Kurallı Konak Adları</a> <a title="Permanent link" href="#canonicalhost" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>Bu kuralın amacı, aynı siteye erişmek için kullanılabilecek
+ diğer konak adları yerine belirli bir konak adının
+ kullanılmasını zorlamaktır. Örneğin,
+ <strong>example.com</strong> yerine
+ <strong>www.example.com</strong> kullanılmasını zorlamak
+ istiyorsanız aşağıdaki tarifin bir varyantını
+ kullanabilirsiniz.</dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+
+<p>Bunu çözmenin en iyi yolu <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> kullanmak
+değil, kurallı olmayan konak ad(lar)ı için bir sanal konağa yerleştirilmiş
+<code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code> yönergesini
+kullanmaktır.</p>
+
+<pre class="prettyprint lang-config"><VirtualHost *:80>
+ ServerName undesired.example.com
+ ServerAlias example.com notthis.example.com
+
+ Redirect "/" "http://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:80>
+ ServerName www.example.com
+</VirtualHost></pre>
+
+
+<p>Bunu alternatif olarak <code class="directive"><a href="../mod/core.html#if"><If></a></code> yönergesini kullanarak da
+gerçekleştirebilirsiniz: (<strong>2.4 ve sonrası</strong>)</p>
+
+<pre class="prettyprint lang-config"><If "%{HTTP_HOST} != 'www.example.com'">
+ Redirect "/" "http://www.example.com/"
+</If></pre>
+
+
+<p>Veya örneğin, sitenizin bir bölümünü HTTPS'ye yönlendirmek için
+şunları yapabilirsiniz:</p>
+
+<pre class="prettyprint lang-config"><If "%{SERVER_PROTOCOL} != 'HTTPS'">
+ Redirect "/admin/" "https://www.example.com/admin/"
+</If></pre>
+
+
+<p>Herhangi bir nedenle hâlâ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> kullanmak
+istiyorsanız - örneğin buna daha büyük bir RewriteRules kümesiyle
+birlikte ihtiyaç duyuyorsanız - aşağıdaki tariflerden birini
+kullanabilirsiniz.</p>
+
+<p>80 dışında bir bağlantı noktasında çalışan siteler için:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteCond "%{SERVER_PORT}" "!^80$"
+RewriteRule "^/?(.*)" "http://www.example.com:%{SERVER_PORT}/$1" [L,R,NE]</pre>
+
+
+<p>80 bağlantı noktasında çalışan bir site için</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.example.com/$1" [L,R,NE]</pre>
+
+
+ <p>
+ Bunu tüm alan adları için genel olarak yapmak istiyorsanız -
+ yani tüm olası <strong>example.com</strong> değerleri için
+ <strong>example.com</strong>'u
+ <strong>www.example.com</strong>'a yönlendirmek istiyorsanız -
+ aşağıdaki tarifi kullanabilirsiniz:</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\." [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.%{HTTP_HOST}/$1" [L,R,NE]</pre>
+
+
+ <p>Bu kural kümeleri, ana sunucu yapılandırma dosyanızda veya
+ sunucunun <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
+ dizinine yerleştirilen bir <code>.htaccess</code> dosyasında
+ çalışacaktır.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="multipledirs" id="multipledirs">Birden Fazla Dizinde Sayfa Arama</a> <a title="Permanent link" href="#multipledirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>Belirli bir kaynak birkaç yerden birinde olabilir ve
+ istendiğinde bu yerlerde kaynağı aramak istiyoruz. Belki yakın
+ zamanda dizin yapımızı yeniden düzenledik ve içeriği birkaç
+ konuma böldük.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>Aşağıdaki kural kümesi, kaynağı bulmak için iki dizinde
+ arama yapar ve hiçbirinde bulamazsa istenen konumdan sunmayı
+ dener.</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+# önce dir1/ içinde bulmayı dene
+# ...ve bulunursa dur ve mutlu ol:
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir1</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir1</strong>/$1" [L]
+
+# sonra dir2/ içinde bulmayı dene
+# ...ve bulunursa dur ve mutlu ol:
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir2</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir2</strong>/$1" [L]
+
+# yoksa diğer Alias veya ScriptAlias yönergeleri vb. için devam et.
+RewriteRule "^" "-" [PT]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="archive-access-multiplexer" id="archive-access-multiplexer">Coğrafi Olarak Dağıtılmış Sunuculara Yönlendirme</a> <a title="Permanent link" href="#archive-access-multiplexer" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>Web sitemizin çok sayıda yansısı var ve insanları bulundukları
+ ülkedeki yansıya yönlendirmek istiyoruz.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>İstemcinin konak adına bakarak hangi ülkeden geldiklerini
+ belirliyoruz. IP adreslerini çözümleyemezsek öntanımlı bir
+ sunucuya geri dönüyoruz.</p>
+ <p>Kullanmak istediğimiz sunucuların listesini oluşturmak için
+ bir <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ yönergesi kullanacağız.</p>
+
+<pre class="prettyprint lang-config">HostnameLookups on
+RewriteEngine on
+RewriteMap multiplex "txt:/path/to/map.mirrors"
+RewriteCond "%{REMOTE_HOST}" "([a-z]+)$" [NC]
+RewriteRule "^/(.*)$" "${multiplex:<strong>%1</strong>|http://www.example.com/}$1" [R,L]</pre>
+
+
+<div class="example"><p><code>
+## map.mirrors -- Çoğullama Eşlem Dosyası<br />
+<br />
+de http://www.example.de/<br />
+uk http://www.example.uk/<br />
+com http://www.example.com/<br />
+##EOF##
+</code></p></div>
+ </dd>
+
+ <dt>Tartışma</dt>
+ <dd>
+ <div class="warning">Bu kural kümesi, <code class="directive"><a href="../mod/core.html#hostnamelookups">HostNameLookups</a></code> yönergesinin
+ <code>on</code> olarak ayarlanmasına dayanır; bu da önemli bir
+ performans etkisi olabilir.</div>
+
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+ yönergesi, istemcinin konak adının son bölümünü - ülke kodunu -
+ yakalar ve ardından gelen RewriteRule bu değeri eşlem dosyasında
+ uygun yansı konağını aramak için kullanır.</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="canonicalurl" id="canonicalurl">Kurallı URL'ler</a> <a title="Permanent link" href="#canonicalurl" class="permalink">¶</a></h2>
+
+
+
+<dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>Bazı web sunucularında bir kaynak için birden fazla URL
+ bulunur. Genellikle kurallı URL'ler (gerçekten kullanılan ve
+ dağıtılan) ve kısayollar, dahili URL'ler vb. vardır. Kullanıcı
+ istekle hangi URL'yi sağlamış olursa olsun, sonunda tarayıcı
+ adres çubuğunda kurallı olanı görmelidir.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p>Tüm kurallı olmayan URL'leri tarayıcının Konum görünümünde
+ düzeltmek ve sonraki tüm istekler için harici bir HTTP
+ yönlendirmesi yapıyoruz. Aşağıdaki örnek kural kümesinde
+ <code>/puppies</code> ve <code>/canines</code> yollarını
+ kurallı <code>/dogs</code> ile değiştiriyoruz.</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/(puppies|canines)/(.*)" "/dogs/$2" [R]</pre>
+
+ </dd>
+
+ <dt>Tartışma:</dt>
+ <dd>
+ Bu gerçekten Redirect veya RedirectMatch yönergeleriyle
+ gerçekleştirilmelidir:
+
+ <pre class="prettyprint lang-config">RedirectMatch "^/(puppies|canines)/(.*)" "/dogs/$2"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="moveddocroot" id="moveddocroot">Taşınmış <code>DocumentRoot</code></a> <a title="Permanent link" href="#moveddocroot" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+<p>Genellikle web sunucusunun <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> dizini doğrudan
+"<code>/</code>" URL'siyle ilişkilidir. Ancak çoğu zaman bu veriler
+gerçekten en üst düzey önceliğe sahip değildir. Örneğin, siteye ilk
+giren ziyaretçilerin belirli bir <code>/about/</code> alt dizinine
+yönlendirilmesini isteyebilirsiniz. Bu, aşağıdaki kural kümesi
+kullanılarak gerçekleştirilebilir:</p>
+</dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+ <p><code>/</code> URL'sini <code>/about/</code> adresine
+ yönlendiriyoruz:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/$" "/about/" [<strong>R</strong>]</pre>
+
+
+<p>Bunun <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code>
+yönergesi kullanılarak da ele alınabileceğini unutmayın:</p>
+
+<pre class="prettyprint lang-config">RedirectMatch "^/$" "http://example.com/about/"</pre>
+
+
+<p>Ayrıca örneğin yalnızca kök URL'yi yeniden yazdığını unutmayın.
+Yani <code>http://example.com/</code> isteğini yeniden yazar ancak
+<code>http://example.com/page.html</code> isteğini yeniden yazmaz.
+Belge kökünüzü gerçekten değiştirdiyseniz - yani tüm içeriğiniz
+aslında o alt dizindeyse - <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> yönergesini değiştirmek veya
+tüm içeriği bir dizin yukarı taşımak, URL'leri yeniden yazmaktan
+çok daha tercih edilir.</p>
+</dd>
+</dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="fallback-resource" id="fallback-resource">Yedek Kaynak</a> <a title="Permanent link" href="#fallback-resource" class="permalink">¶</a></h2>
+
+
+<dl>
+<dt>Açıklama:</dt>
+<dd>Belirli bir dizine gelen tüm istekleri, bir resim veya css
+dosyası gibi mevcut bir kaynağa gitmesi gerekenler dışında tek bir
+kaynağın (örneğin index.php gibi belirli bir dosyanın) işlemesini
+istiyorsunuz.</dd>
+
+<dt>Çözüm:</dt>
+<dd>
+<p>2.2.16 sürümünden itibaren bunun için <code class="directive"><a href="../mod/mod_dir.html#fallbackresource">FallbackResource</a></code> yönergesini
+kullanmalısınız:</p>
+
+<pre class="prettyprint lang-config"><Directory "/var/www/my_blog">
+ FallbackResource index.php
+</Directory></pre>
+
+
+<p>Ancak Apache'nin önceki sürümlerinde veya ihtiyaçlarınız bundan
+daha karmaşıksa, aynı şeyi gerçekleştirmek için aşağıdaki yeniden
+yazma kümesinin bir varyasyonunu kullanabilirsiniz:</p>
+
+<pre class="prettyprint lang-config"><Directory "/var/www/my_blog">
+ RewriteBase "/my_blog"
+
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-f
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-d
+ RewriteRule "^" "index.php" [PT]
+</Directory></pre>
+
+
+<p>Diğer taraftan, istenen URI'yi index.php'ye sorgu dizgesi
+argümanı olarak geçirmek isterseniz, o RewriteRule'u şununla
+değiştirebilirsiniz:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "(.*)" "index.php?$1" [PT,QSA]</pre>
+
+
+<p>Bu kural kümelerinin bir <code>.htaccess</code> dosyasında ve
+bir <Directory> bloğunda da kullanılabileceğini unutmayın.</p>
+
+</dd>
+
+</dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewrite-query" id="rewrite-query">Sorgu Dizgesini Yeniden Yazma</a> <a title="Permanent link" href="#rewrite-query" class="permalink">¶</a></h2>
+
+
+<dl>
+<dt>Açıklama:</dt>
+<dd>Bir sorgu dizgesinden belirli bir değeri yakalamak ve onu
+değiştirmek veya URL'nin başka bir bileşenine dahil etmek
+istiyorsunuz.</dd>
+
+<dt>Çözümler:</dt>
+<dd>
+<p>Bu bölümdeki çözümlerin birçoğu aynı koşulu kullanır; bu koşul
+eşleşen değeri %2 geri başvurusunda bırakır. %1 sorgu dizgesinin
+başlangıcıdır (ilgili anahtara kadar) ve %3 geri kalanıdır. Bu
+koşul, esneklik ve değiştirmelerde çift '&&' oluşmasını
+önlemek için biraz karmaşıktır.</p>
+<ul>
+ <li>Bu çözüm eşleşen anahtarı ve değeri kaldırır:
+
+<pre class="prettyprint lang-config"># mykey=??? öğesini kaldır
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1?%1%3"</pre>
+
+ </li>
+
+ <li>Bu çözüm, yakalanan değeri URL değiştirmesinde kullanır ve
+ sonuna '?' ekleyerek orijinal sorgu dizgesinin geri kalanını
+ atar:
+
+<pre class="prettyprint lang-config"># Sorgu dizgesinden PATH_INFO'ya kopyala
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1/products/%2/?" [PT]</pre>
+
+ </li>
+
+ <li>Bu çözüm, yakalanan değeri sonraki bir koşulda kontrol eder:
+
+<pre class="prettyprint lang-config"># Sorgu dizgesindeki mykey değerini yakala
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteCond "%2" !=not-so-secret-value
+RewriteRule "(.*)" "-" [F]</pre>
+
+ </li>
+
+ <li>Bu çözüm, önceki çözümlerin tersini gösterir: yol bileşenlerini
+ (belki PATH_INFO) URL'den sorgu dizgesine kopyalar.
+<pre class="prettyprint lang-config"># İstenen URL /products/kitchen-sink olabilir ve betik
+# /path?products=kitchen-sink bekler.
+RewriteRule "^/?path/([^/]+)/([^/]+)" "/path?$1=$2" [PT]</pre>
+
+ </li>
+</ul>
+
+</dd>
+
+</dl>
+</div></div>
+<div class="bottomlang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/remapping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.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="http://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></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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="zh-cn" xml:lang="zh-cn"><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>使用 mod_rewrite 进行重定向和重映射 - Apache HTTP 服务器 版本 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP 服务器版本 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP 服务器</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../">版本 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>使用 mod_rewrite 进行重定向和重映射</h1>
+<div class="toplang">
+<p><span>可用语言: </span><a href="../de/rewrite/remapping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.html" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>本文档是 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">参考文档</a>的补充。它描述了如何使用
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 来重定向和重映射请求。
+其中包括许多 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 的常见用法示例,
+以及每个示例工作原理的详细描述。</p>
+
+<div class="warning">请注意,这些示例中的许多不会在你的特定服务器配置中直接生效,
+因此理解它们非常重要,而不仅仅是将示例复制粘贴到你的配置中。</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#old-to-new">从旧到新(内部)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#old-to-new-extern">从旧到新的重写(外部)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#movehomedirs">资源已移至另一台服务器</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#static-to-dynamic">从静态到动态</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#backward-compatibility">文件扩展名更改的向后兼容性</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#canonicalhost">规范主机名</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#multipledirs">在多个目录中搜索页面</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#archive-access-multiplexer">重定向到地理分布式服务器</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#canonicalurl">规范 URL</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#moveddocroot">移动的 <code>DocumentRoot</code></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#fallback-resource">回退资源</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewrite-query">重写查询字符串</a></li>
+</ul><h3>参见</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">模块文档</a></li><li><a href="intro.html">mod_rewrite 简介</a></li><li><a href="access.html">访问控制</a></li><li><a href="vhosts.html">虚拟主机</a></li><li><a href="proxy.html">代理</a></li><li><a href="rewritemap.html">使用 RewriteMap</a></li><li><a href="advanced.html">高级技术</a></li><li><a href="avoid.html">何时不使用 mod_rewrite</a></li><li><a href="#comments_section">评论</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="old-to-new" id="old-to-new">从旧到新(内部)</a> <a title="Permanent link" href="#old-to-new" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>假设我们最近将页面 <code>foo.html</code> 重命名为
+ <code>bar.html</code>,现在希望提供旧 URL 以实现向后兼容。
+ 但是,我们希望旧 URL 的用户甚至不会注意到页面已被重命名——
+ 也就是说,我们不希望浏览器中的地址发生变化。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>我们通过以下规则在内部将旧 URL 重写为新 URL:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>/bar</strong>.html" [PT]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="old-to-new-extern" id="old-to-new-extern">从旧到新的重写(外部)</a> <a title="Permanent link" href="#old-to-new-extern" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>再次假设我们最近将页面 <code>foo.html</code> 重命名为
+ <code>bar.html</code>,现在希望提供旧 URL 以实现向后兼容。
+ 但这次我们希望旧 URL 的用户能看到新 URL 的提示,
+ 即他们的浏览器地址栏也应该改变。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>我们强制进行 HTTP 重定向到新 URL,
+ 这会导致浏览器以及用户视图的变化:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>bar</strong>.html" [<strong>R</strong>]</pre>
+
+</dd>
+
+<dt>讨论</dt>
+
+ <dd>
+ <p>在本示例中,与上面的<a href="#old-to-new-intern">内部</a>示例不同,
+ 我们可以简单地使用 Redirect 指令。在前面的示例中使用
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 是为了对客户端隐藏重定向:</p>
+
+ <pre class="prettyprint lang-config">Redirect "/foo.html" "/bar.html"</pre>
+
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="movehomedirs" id="movehomedirs">资源已移至另一台服务器</a> <a title="Permanent link" href="#movehomedirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>如果资源已移至另一台服务器,你可能希望 URL
+ 在旧服务器上继续工作一段时间,以便人们更新书签。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>你可以使用 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 将这些 URL
+ 重定向到新服务器,但也可以考虑使用 Redirect 或 RedirectMatch 指令。</p>
+
+<pre class="prettyprint lang-config">#With mod_rewrite
+RewriteEngine on
+RewriteRule "^/docs/(.+)" "http://new.example.com/docs/$1" [R,L]</pre>
+
+
+<pre class="prettyprint lang-config">#With RedirectMatch
+RedirectMatch "^/docs/(.*)" "http://new.example.com/docs/$1"</pre>
+
+
+<pre class="prettyprint lang-config">#With Redirect
+Redirect "/docs/" "http://new.example.com/docs/"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="static-to-dynamic" id="static-to-dynamic">从静态到动态</a> <a title="Permanent link" href="#static-to-dynamic" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>如何以无缝的方式(即浏览器/用户不会注意到)将静态页面
+ <code>foo.html</code> 转换为动态变体 <code>foo.cgi</code>。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>我们只需将 URL 重写为 CGI 脚本并强制处理程序为
+ <strong>cgi-script</strong>,使其作为 CGI 程序执行。
+ 这样,对 <code>/~quux/foo.html</code> 的请求在内部会导致调用
+ <code>/~quux/foo.cgi</code>。</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteBase "/~quux/"
+RewriteRule "^foo\.html$" "foo.cgi" [H=<strong>cgi-script</strong>]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="backward-compatibility" id="backward-compatibility">文件扩展名更改的向后兼容性</a> <a title="Permanent link" href="#backward-compatibility" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>在将 <code>document.YYYY</code> 迁移到
+ <code>document.XXXX</code>(例如将一批 <code>.html</code>
+ 文件翻译为 <code>.php</code>)之后,
+ 如何使 URL 保持向后兼容(仍然虚拟存在)?</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>仅当具有新扩展名的目标文件存在而具有旧扩展名的原始文件不存在时,
+ 才将 URL 从旧扩展名重写为新扩展名。否则,URL 保持不变。</p>
+
+<pre class="prettyprint lang-config"># backward compatibility ruleset for
+# rewriting document.html to document.php
+# when and only when document.php exists
+<Directory "/var/www/htdocs">
+ RewriteEngine on
+ RewriteBase "/var/www/htdocs"
+
+ RewriteCond "$1.php" -f
+ RewriteCond "$1.html" !-f
+ RewriteRule "^(.*).html$" "$1.php"
+</Directory></pre>
+
+ </dd>
+
+ <dt>讨论</dt>
+ <dd>
+ <p>此示例使用了 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 的一个经常被忽视的特性,
+ 利用了规则集的执行顺序。特别是,<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ 在求值 RewriteCond 指令之前先求值 RewriteRule 的左侧。
+ 因此,在求值 RewriteCond 指令时 $1 已经被定义。
+ 这使我们能够使用相同的基础文件名来测试原始文件
+ (<code>document.html</code>)和目标文件
+ (<code>document.php</code>)的存在性。</p>
+
+ <p>此规则集设计用于目录级上下文
+ (在 <Directory> 块或 .htaccess 文件中),
+ 以便 <code>-f</code> 检查正确的目录路径。
+ 你可能需要设置 <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>
+ 指令来指定你正在使用的目录基准。</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="canonicalhost" id="canonicalhost">规范主机名</a> <a title="Permanent link" href="#canonicalhost" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>此规则的目标是强制使用特定的主机名,
+ 而不是可能用来到达同一站点的其他主机名。
+ 例如,如果你希望强制使用
+ <strong>www.example.com</strong> 而不是
+ <strong>example.com</strong>,你可以使用以下方案的变体。</dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+
+<p>最佳方式根本不涉及 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>,
+而是使用放置在非规范主机名虚拟主机中的
+<code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code> 指令。</p>
+
+<pre class="prettyprint lang-config"><VirtualHost *:80>
+ ServerName undesired.example.com
+ ServerAlias example.com notthis.example.com
+
+ Redirect "/" "http://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:80>
+ ServerName www.example.com
+</VirtualHost></pre>
+
+
+<p>你也可以使用
+<code class="directive"><a href="../mod/core.html#if"><If></a></code>
+指令来完成(<strong>2.4 及更高版本</strong>):</p>
+
+<pre class="prettyprint lang-config"><If "%{HTTP_HOST} != 'www.example.com'">
+ Redirect "/" "http://www.example.com/"
+</If></pre>
+
+
+<p>或者,例如,要将站点的一部分重定向到 HTTPS,你可以执行以下操作:</p>
+
+<pre class="prettyprint lang-config"><If "%{SERVER_PROTOCOL} != 'HTTPS'">
+ Redirect "/admin/" "https://www.example.com/admin/"
+</If></pre>
+
+
+<p>如果出于某种原因你仍然想使用 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>——
+例如,你需要它与一组更大的 RewriteRule 一起使用——
+你可以使用以下方案之一。</p>
+
+<p>对于运行在非 80 端口上的站点:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteCond "%{SERVER_PORT}" "!^80$"
+RewriteRule "^/?(.*)" "http://www.example.com:%{SERVER_PORT}/$1" [L,R,NE]</pre>
+
+
+<p>对于运行在 80 端口上的站点:</p>
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.example.com/$1" [L,R,NE]</pre>
+
+
+ <p>
+ 如果你希望对所有域名通用地执行此操作——也就是说,
+ 如果你想将 <strong>example.com</strong> 重定向到
+ <strong>www.example.com</strong>,其中
+ <strong>example.com</strong> 可以是任何值,
+ 你可以使用以下方案:</p>
+
+<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "!^www\." [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.%{HTTP_HOST}/$1" [L,R,NE]</pre>
+
+
+ <p>这些规则集可以在主服务器配置文件中使用,
+ 也可以在放置于服务器 <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> 中的
+ <code>.htaccess</code> 文件中使用。</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="multipledirs" id="multipledirs">在多个目录中搜索页面</a> <a title="Permanent link" href="#multipledirs" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>某个特定资源可能存在于多个位置,
+ 我们希望在请求时在这些位置中查找该资源。
+ 也许我们最近重新整理了目录结构,将内容分散到多个位置。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>以下规则集在两个目录中搜索资源,
+ 如果在两个位置都找不到,则尝试从请求的位置直接提供。</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+# first try to find it in dir1/...
+# ...and if found stop and be happy:
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir1</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir1</strong>/$1" [L]
+
+# second try to find it in dir2/...
+# ...and if found stop and be happy:
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir2</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir2</strong>/$1" [L]
+
+# else go on for other Alias or ScriptAlias directives,
+# etc.
+RewriteRule "^" "-" [PT]</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="archive-access-multiplexer" id="archive-access-multiplexer">重定向到地理分布式服务器</a> <a title="Permanent link" href="#archive-access-multiplexer" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>我们的网站有多个镜像,
+ 希望将用户重定向到距其所在国家最近的镜像。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>查看请求客户端的主机名,确定他们来自哪个国家。
+ 如果无法查找其 IP 地址,则回退到默认服务器。</p>
+ <p>我们将使用 <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ 指令来构建我们希望使用的服务器列表。</p>
+
+<pre class="prettyprint lang-config">HostnameLookups on
+RewriteEngine on
+RewriteMap multiplex "txt:/path/to/map.mirrors"
+RewriteCond "%{REMOTE_HOST}" "([a-z]+)$" [NC]
+RewriteRule "^/(.*)$" "${multiplex:<strong>%1</strong>|http://www.example.com/}$1" [R,L]</pre>
+
+
+<div class="example"><p><code>
+## map.mirrors -- 多路复用映射<br />
+<br />
+de http://www.example.de/<br />
+uk http://www.example.uk/<br />
+com http://www.example.com/<br />
+##EOF##
+</code></p></div>
+ </dd>
+
+ <dt>讨论</dt>
+ <dd>
+ <div class="warning">此规则集依赖于
+ <code class="directive"><a href="../mod/core.html#hostnamelookups">HostNameLookups</a></code>
+ 设置为 <code>on</code>,这可能会对性能产生显著影响。</div>
+
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+ 捕获请求客户端主机名的最后部分——国家代码——后续的 RewriteRule
+ 使用该值在映射文件中查找适当的镜像主机。</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="canonicalurl" id="canonicalurl">规范 URL</a> <a title="Permanent link" href="#canonicalurl" class="permalink">¶</a></h2>
+
+
+
+<dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>在某些 Web 服务器上,一个资源可能有多个 URL。
+ 通常有规范 URL(即实际使用和分发的 URL)
+ 和只是快捷方式、内部 URL 等的 URL。
+ 无论用户在请求中提供的是哪个 URL,
+ 他们最终应在浏览器地址栏中看到规范 URL。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>我们对所有非规范 URL 执行外部 HTTP 重定向,
+ 以在浏览器的地址视图中修正它们,并用于所有后续请求。
+ 在下面的示例规则集中,我们将 <code>/puppies</code> 和
+ <code>/canines</code> 替换为规范的 <code>/dogs</code>。</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/(puppies|canines)/(.*)" "/dogs/$2" [R]</pre>
+
+ </dd>
+
+ <dt>讨论:</dt>
+ <dd>
+ 这实际上应该使用 Redirect 或 RedirectMatch 指令来完成:
+
+ <pre class="prettyprint lang-config">RedirectMatch "^/(puppies|canines)/(.*)" "/dogs/$2"</pre>
+
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="moveddocroot" id="moveddocroot">移动的 <code>DocumentRoot</code></a> <a title="Permanent link" href="#moveddocroot" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+<p>通常 Web 服务器的 <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
+直接对应 URL "<code>/</code>"。
+但这些数据通常不是最高优先级的内容。例如,
+你可能希望访客在首次进入站点时转到特定子目录 <code>/about/</code>。
+这可以使用以下规则集来实现:</p>
+</dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+ <p>我们将 URL <code>/</code> 重定向到 <code>/about/</code>:
+ </p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/$" "/about/" [<strong>R</strong>]</pre>
+
+
+<p>请注意,这也可以使用
+<code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> 指令来处理:</p>
+
+<pre class="prettyprint lang-config">RedirectMatch "^/$" "http://example.com/about/"</pre>
+
+
+<p>还要注意,此示例仅重写根 URL。也就是说,
+它重写对 <code>http://example.com/</code> 的请求,
+但不会重写对 <code>http://example.com/page.html</code> 的请求。
+如果你确实更改了文档根目录——也就是说,如果你的<strong>所有</strong>内容
+实际上都在该子目录中,那么最好直接更改
+<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> 指令,
+或将所有内容向上移动一个目录,而不是重写 URL。</p>
+</dd>
+</dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="fallback-resource" id="fallback-resource">回退资源</a> <a title="Permanent link" href="#fallback-resource" class="permalink">¶</a></h2>
+
+
+<dl>
+<dt>描述:</dt>
+<dd>你希望单个资源(例如某个文件,如 index.php)处理所有进入特定目录的请求,
+但已存在的资源(如图片或 CSS 文件)除外。</dd>
+
+<dt>解决方案:</dt>
+<dd>
+<p>从 2.2.16 版本开始,你应该使用
+<code class="directive"><a href="../mod/mod_dir.html#fallbackresource">FallbackResource</a></code> 指令来完成:</p>
+
+<pre class="prettyprint lang-config"><Directory "/var/www/my_blog">
+ FallbackResource index.php
+</Directory></pre>
+
+
+<p>但是,在早期版本的 Apache 中,或者如果你的需求比这更复杂,
+你可以使用以下重写集的变体来实现相同的目的:</p>
+
+<pre class="prettyprint lang-config"><Directory "/var/www/my_blog">
+ RewriteBase "/my_blog"
+
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-f
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-d
+ RewriteRule "^" "index.php" [PT]
+</Directory></pre>
+
+
+<p>另一方面,如果你希望将请求的 URI 作为查询字符串参数传递给 index.php,
+你可以将该 RewriteRule 替换为:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "(.*)" "index.php?$1" [PT,QSA]</pre>
+
+
+<p>请注意,这些规则集可以在 <code>.htaccess</code> 文件中使用,
+也可以在 <Directory> 块中使用。</p>
+
+</dd>
+
+</dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rewrite-query" id="rewrite-query">重写查询字符串</a> <a title="Permanent link" href="#rewrite-query" class="permalink">¶</a></h2>
+
+
+<dl>
+<dt>描述:</dt>
+<dd>你想从查询字符串中捕获特定值,并替换它或将其合并到 URL 的另一个组件中。</dd>
+
+<dt>解决方案:</dt>
+<dd>
+<p>本节中的许多解决方案都使用相同的条件,
+该条件将匹配的值留在 %2 反向引用中。%1 是查询字符串的开头
+(直到感兴趣的键),%3 是剩余部分。
+此条件稍微复杂是为了灵活性和避免替换中出现双 '&&'。</p>
+<ul>
+ <li>此解决方案移除匹配的键和值:
+
+<pre class="prettyprint lang-config"># Remove mykey=???
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1?%1%3"</pre>
+
+ </li>
+
+ <li>此解决方案在 URL 替换中使用捕获的值,
+ 通过附加 '?' 来丢弃其余的原始查询:
+
+<pre class="prettyprint lang-config"># Copy from query string to PATH_INFO
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1/products/%2/?" [PT]</pre>
+
+ </li>
+
+ <li>此解决方案在后续条件中检查捕获的值:
+
+<pre class="prettyprint lang-config"># Capture the value of mykey in the query string
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteCond "%2" !=not-so-secret-value
+RewriteRule "(.*)" "-" [F]</pre>
+
+ </li>
+
+ <li>此解决方案展示了前面方案的逆操作,
+ 将路径组件(可能是 PATH_INFO)从 URL 复制到查询字符串中。
+<pre class="prettyprint lang-config"># The desired URL might be /products/kitchen-sink, and the script expects
+# /path?products=kitchen-sink.
+RewriteRule "^/?path/([^/]+)/([^/]+)" "/path?$1=$2" [PT]</pre>
+
+ </li>
+</ul>
+
+</dd>
+
+</dl>
+</div></div>
+<div class="bottomlang">
+<p><span>可用语言: </span><a href="../de/rewrite/remapping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/remapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/remapping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/remapping.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/remapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/remapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/remapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/remapping.html" title="Simplified Chinese"> zh-cn </a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2026 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许可证.</p>
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
# GENERATED FROM XML -- DO NOT EDIT
+URI: rewritemap.html.de
+Content-Language: de
+Content-type: text/html; charset=ISO-8859-1
+
URI: rewritemap.html.en.utf8
Content-Language: en
Content-type: text/html; charset=UTF-8
+URI: rewritemap.html.es.utf8
+Content-Language: es
+Content-type: text/html; charset=UTF-8
+
URI: rewritemap.html.fr.utf8
Content-Language: fr
Content-type: text/html; charset=UTF-8
+
+URI: rewritemap.html.ja.utf8
+Content-Language: ja
+Content-type: text/html; charset=UTF-8
+
+URI: rewritemap.html.ko.euc-kr
+Content-Language: ko
+Content-type: text/html; charset=EUC-KR
+
+URI: rewritemap.html.tr.utf8
+Content-Language: tr
+Content-type: text/html; charset=UTF-8
+
+URI: rewritemap.html.zh-cn.utf8
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!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="de" xml:lang="de"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Verwendung von RewriteMap - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Verwendung von RewriteMap</h1>
+<div class="toplang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/rewritemap.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+ <p>Dieses Dokument ergänzt die <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">Referenzdokumentation</a>. Es beschreibt
+die Verwendung der <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>-Direktive
+und bietet Beispiele für jeden der verschiedenen
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>-Typen.</p>
+
+ <div class="warning">Beachten Sie, dass viele dieser Beispiele nicht unverändert in Ihrer
+speziellen Serverkonfiguration funktionieren werden. Es ist daher wichtig, dass Sie
+sie verstehen, anstatt die Beispiele einfach auszuschneiden und in Ihre
+Konfiguration einzufügen.</div>
+
+ </div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">Einführung</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#int">int: Interne Funktion</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#txt">txt: Klartext-Maps</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rnd">rnd: Zufälliger Klartext</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dbm">dbm: DBM-Hash-Datei</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#prg">prg: Externes Umschreibungsprogramm</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dbd">dbd oder fastdbd: SQL-Abfrage</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#summary">Zusammenfassung</a></li>
+</ul><h3>Siehe auch</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Moduldokumentation</a></li><li><a href="intro.html">Einführung in mod_rewrite</a></li><li><a href="remapping.html">Umleitung und Neuzuordnung</a></li><li><a href="access.html">Zugriffskontrolle</a></li><li><a href="vhosts.html">Virtuelle Hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="advanced.html">Fortgeschrittene Techniken</a></li><li><a href="avoid.html">Wann man mod_rewrite nicht verwenden sollte</a></li><li><a href="#comments_section">Kommentare</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="introduction" id="introduction">Einführung</a> <a title="Permanent link" href="#introduction" class="permalink">¶</a></h2>
+
+
+ <p>
+ Die <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>-Direktive
+ definiert eine externe Funktion, die im Kontext von
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>- oder
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>-Direktiven
+ aufgerufen werden kann, um Umschreibungen durchzuführen, die zu
+ kompliziert oder zu spezialisiert sind, um allein mit regulären
+ Ausdrücken durchgeführt zu werden. Die Quelle für diese Nachschlagung
+ kann einer der in den folgenden Abschnitten aufgeführten Typen sein,
+ die auch in der
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>-Referenzdokumentation
+ aufgezählt sind.</p>
+
+ <p>Die Syntax der <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>-Direktive
+ lautet wie folgt:</p>
+
+<pre class="prettyprint lang-config">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
+</pre>
+
+
+ <p>Der <a id="mapfunc" name="mapfunc"><em>MapName</em></a> ist ein
+ beliebiger Name, den Sie der Map zuweisen und den Sie später in
+ Direktiven verwenden. Argumente werden der Map über die folgende
+ Syntax übergeben:</p>
+
+ <p class="indent">
+ <strong>
+ <code>${</code> <em>MapName</em> <code>:</code> <em>LookupKey</em>
+ <code>}</code> <br /> <code>${</code> <em>MapName</em> <code>:</code>
+ <em>LookupKey</em> <code>|</code> <em>DefaultValue</em> <code>}</code>
+ </strong>
+ </p>
+
+ <p>Wenn ein solches Konstrukt auftritt, wird die Map <em>MapName</em>
+ konsultiert und der Schlüssel <em>LookupKey</em> nachgeschlagen.
+ Wenn der Schlüssel gefunden wird, wird das Map-Funktions-Konstrukt
+ durch <em>SubstValue</em> ersetzt. Wenn der Schlüssel nicht gefunden
+ wird, wird es durch <em>DefaultValue</em> oder durch den leeren
+ String ersetzt, falls kein <em>DefaultValue</em> angegeben wurde.</p>
+
+ <p>Sie können beispielsweise eine
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> wie folgt
+ definieren:</p>
+ <pre class="prettyprint lang-config">RewriteMap examplemap "txt:/path/to/file/map.txt"</pre>
+
+ <p>Sie können diese Map dann in einer
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> wie folgt
+ verwenden:</p>
+ <pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1}"</pre>
+
+
+<p>Ein Standardwert kann für den Fall angegeben werden, dass nichts in
+der Map gefunden wird:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1|/not_found.html}"</pre>
+
+
+<div class="note"><h3>Verzeichniskontext und .htaccess-Kontext</h3>
+<p>
+Die <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>-Direktive darf nicht
+in <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>-Abschnitten oder
+<code>.htaccess</code>-Dateien verwendet werden. Sie müssen die Map im Server-
+oder VirtualHost-Kontext deklarieren. Sie können die Map, einmal erstellt, in
+Ihren <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>- und
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>-Direktiven in diesen
+Geltungsbereichen verwenden. Sie können sie nur nicht in diesen Geltungsbereichen
+<strong>deklarieren</strong>.</p>
+</div>
+
+<p>Die folgenden Abschnitte beschreiben die verschiedenen <em>MapType</em>s,
+die verwendet werden können, und geben Beispiele für jeden.</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="int" id="int">int: Interne Funktion</a> <a title="Permanent link" href="#int" class="permalink">¶</a></h2>
+
+
+ <p>Wenn ein MapType von <code>int</code> verwendet wird, ist die
+ MapSource eine der verfügbaren internen
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>-Funktionen.
+ Modulautoren können zusätzliche interne Funktionen bereitstellen,
+ indem sie diese mit der <code>ap_register_rewrite_mapfunc</code>-API
+ registrieren. Die standardmäßig bereitgestellten Funktionen sind:
+ </p>
+
+ <ul>
+ <li><strong>toupper</strong>:<br />
+ Konvertiert den Schlüssel in Großbuchstaben.</li>
+ <li><strong>tolower</strong>:<br />
+ Konvertiert den Schlüssel in Kleinbuchstaben.</li>
+ <li><strong>escape</strong>:<br />
+ Übersetzt Sonderzeichen im Schlüssel in
+ Hex-Kodierungen.</li>
+ <li><strong>unescape</strong>:<br />
+ Übersetzt Hex-Kodierungen im Schlüssel zurück in
+ Sonderzeichen.</li>
+ </ul>
+
+ <p>
+ Um eine dieser Funktionen zu verwenden, erstellen Sie eine
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>, die auf die
+ int-Funktion verweist, und verwenden Sie diese dann in Ihrer
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>:
+ </p>
+
+ <p><strong>Eine URI auf eine komplett kleingeschriebene Version umleiten</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap lc int:tolower
+RewriteRule "(.*)" "${lc:$1}" [R]</pre>
+
+
+ <div class="note">
+ <p>Bitte beachten Sie, dass das hier angebotene Beispiel nur zur
+ Veranschaulichung dient und keine Empfehlung ist. Wenn Sie URLs
+ unabhängig von der Groß-/Kleinschreibung machen möchten, ziehen Sie
+ stattdessen die Verwendung von <code class="module"><a href="../mod/mod_speling.html">mod_speling</a></code> in
+ Betracht.
+ </p>
+ </div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="txt" id="txt">txt: Klartext-Maps</a> <a title="Permanent link" href="#txt" class="permalink">¶</a></h2>
+
+
+ <p>Wenn ein MapType von <code>txt</code> verwendet wird, ist die
+ MapSource ein Dateisystempfad zu einer Klartext-Zuordnungsdatei,
+ die ein durch Leerzeichen getrenntes Schlüssel/Wert-Paar pro Zeile
+ enthält. Optional kann eine Zeile einen Kommentar enthalten, der
+ mit einem '#'-Zeichen beginnt.</p>
+
+ <p>Eine gültige Text-Rewrite-Map-Datei hat die folgende Syntax:</p>
+
+ <div class="example"><p><code>
+ # Kommentarzeile<br />
+ <strong><em>MatchingKey</em> <em>SubstValue</em></strong><br />
+ <strong><em>MatchingKey</em> <em>SubstValue</em></strong> # Kommentar<br />
+ </code></p></div>
+
+ <p>Wenn die <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ aufgerufen wird, wird das Argument im ersten Argument einer Zeile
+ gesucht und, falls gefunden, der Ersetzungswert zurückgegeben.</p>
+
+ <p>Beispielsweise können wir eine Map-Datei verwenden, um
+ Produktnamen in Produkt-IDs für leichter zu merkende URLs
+ zu übersetzen, mit dem folgenden Rezept:</p>
+<p><strong>Produkt-zu-ID-Konfiguration</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap product2id "txt:/etc/apache2/productmap.txt"
+RewriteRule "^/product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]</pre>
+
+
+ <p>Wir nehmen hier an, dass das <code>prods.php</code>-Skript weiß,
+ was zu tun ist, wenn es ein Argument von <code>id=NOTFOUND</code>
+ erhält, wenn ein Produkt nicht in der Nachschlagetabelle gefunden
+ wird.</p>
+
+ <p>Die Datei <code>/etc/apache2/productmap.txt</code> enthält dann
+ Folgendes:</p>
+
+ <div class="example"><h3>Produkt-zu-ID-Map</h3><p><code>
+##<br />
+## productmap.txt - Produkt-zu-ID-Map-Datei<br />
+##<br />
+<br />
+television 993<br />
+stereo 198<br />
+fishingrod 043<br />
+basketball 418<br />
+telephone 328
+ </code></p></div>
+
+ <p>Wenn also <code>http://example.com/product/television</code>
+ angefordert wird, wird die <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ angewendet und die Anfrage intern auf
+ <code>/prods.php?id=993</code> abgebildet.</p>
+
+ <div class="note"><h3>Hinweis: .htaccess-Dateien</h3>
+ Das gegebene Beispiel ist für die Verwendung im Server- oder
+ VirtualHost-Kontext konzipiert. Wenn Sie dies in einer
+ <code>.htaccess</code>-Datei verwenden möchten, müssen Sie den
+ führenden Schrägstrich aus dem Umschreibungsmuster entfernen, damit
+ es übereinstimmt:
+ <pre class="prettyprint lang-config">RewriteRule "^product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]</pre>
+
+ </div>
+
+ <div class="note"><h3>Zwischengespeicherte Nachschlagungen</h3>
+ <p>
+ Die nachgeschlagenen Schlüssel werden von httpd zwischengespeichert,
+ bis sich die <code>mtime</code> (Änderungszeit) der Map-Datei ändert
+ oder der httpd-Server neu gestartet wird. Dies gewährleistet eine
+ bessere Leistung bei Maps, die von vielen Anfragen aufgerufen werden.
+ </p>
+ </div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rnd" id="rnd">rnd: Zufälliger Klartext</a> <a title="Permanent link" href="#rnd" class="permalink">¶</a></h2>
+
+
+ <p>Wenn ein MapType von <code>rnd</code> verwendet wird, ist die
+ MapSource ein Dateisystempfad zu einer Klartext-Zuordnungsdatei,
+ wobei jede Zeile einen Schlüssel und einen oder mehrere durch
+ <code>|</code> getrennte Werte enthält. Einer dieser Werte wird
+ zufällig ausgewählt, wenn der Schlüssel übereinstimmt.</p>
+
+ <p>Sie können beispielsweise die folgende Map-Datei und Direktiven
+ verwenden, um eine zufällige Lastverteilung zwischen mehreren
+ Backend-Servern über einen Reverse-Proxy bereitzustellen. Bilder
+ werden an einen der Server im 'static'-Pool gesendet, während alles
+ andere an einen der Server im 'dynamic'-Pool gesendet wird.</p>
+
+ <div class="example"><h3>Rewrite-Map-Datei</h3><p><code>
+##<br />
+## map.txt -- Umschreibungs-Map<br />
+##<br />
+<br />
+static www1|www2|www3|www4<br />
+dynamic www5|www6
+ </code></p></div>
+<p><strong>Konfigurationsdirektiven</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap servers "rnd:/path/to/file/map.txt"
+
+RewriteRule "^/(.*\.(png|gif|jpg))" "http://${servers:static}/$1" [NC,P,L]
+RewriteRule "^/(.*)" "http://${servers:dynamic}/$1" [P,L]</pre>
+
+
+ <p>Wenn also ein Bild angefordert wird und die erste dieser Regeln
+ übereinstimmt, schlägt <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ den String <code>static</code> in der Map-Datei nach, die einen der
+ angegebenen Hostnamen zufällig zurückgibt, der dann im
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>-Ziel verwendet wird.</p>
+
+ <p>Wenn Sie möchten, dass einer der Server häufiger ausgewählt wird
+ (zum Beispiel, wenn einer der Server mehr Speicher hat und daher mehr
+ Anfragen verarbeiten kann), listen Sie ihn einfach häufiger in der
+ Map-Datei auf.</p>
+
+ <div class="example"><p><code>
+static www1|www1|www2|www3|www4
+ </code></p></div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="dbm" id="dbm">dbm: DBM-Hash-Datei</a> <a title="Permanent link" href="#dbm" class="permalink">¶</a></h2>
+
+
+ <p>Wenn ein MapType von <code>dbm</code> verwendet wird, ist die
+ MapSource ein Dateisystempfad zu einer DBM-Datenbankdatei, die
+ Schlüssel/Wert-Paare für die Zuordnung enthält. Dies funktioniert
+ genau wie die <code>txt</code>-Map, ist aber viel schneller, da eine
+ DBM indiziert ist, während eine Textdatei dies nicht ist. Dies
+ ermöglicht einen schnelleren Zugriff auf den gewünschten Schlüssel.</p>
+
+ <p>Sie können optional einen bestimmten DBM-Typ angeben:</p>
+
+ <pre class="prettyprint lang-config">RewriteMap examplemap "dbm=sdbm:/etc/apache/mapfile.dbm"</pre>
+
+
+ <p>Der Typ kann <code>sdbm</code>, <code>gdbm</code>,
+ <code>ndbm</code> oder <code>db</code> sein. Es wird jedoch
+ empfohlen, einfach das mit dem Apache HTTP Server mitgelieferte
+ Dienstprogramm <a href="../programs/httxt2dbm.html">httxt2dbm</a>
+ zu verwenden, da es die korrekte DBM-Bibliothek verwendet, die mit
+ der beim Bau von httpd selbst verwendeten übereinstimmt.</p>
+
+ <p>Um eine DBM-Datei zu erstellen, erstellen Sie zunächst eine
+ Text-Map-Datei wie im Abschnitt <a href="#txt">txt</a> beschrieben.
+ Führen Sie dann <code>httxt2dbm</code> aus:</p>
+
+<div class="example"><p><code>
+$ httxt2dbm -i mapfile.txt -o mapfile.map
+</code></p></div>
+
+<p>Sie können dann die resultierende Datei in Ihrer
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>-Direktive
+referenzieren:</p>
+
+<pre class="prettyprint lang-config">RewriteMap mapname "dbm:/etc/apache/mapfile.map"</pre>
+
+
+<div class="note">
+<p>Beachten Sie, dass bei einigen DBM-Typen mehr als eine Datei mit
+einem gemeinsamen Basisnamen erzeugt wird. Beispielsweise können zwei
+Dateien namens <code>mapfile.map.dir</code> und
+<code>mapfile.map.pag</code> vorhanden sein. Dies ist normal, und Sie
+müssen nur den Basisnamen <code>mapfile.map</code> in Ihrer
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>-Direktive
+verwenden.</p>
+</div>
+
+<div class="note"><h3>Zwischengespeicherte Nachschlagungen</h3>
+<p>
+Die nachgeschlagenen Schlüssel werden von httpd zwischengespeichert, bis
+sich die <code>mtime</code> (Änderungszeit) der Map-Datei ändert oder der
+httpd-Server neu gestartet wird. Dies gewährleistet eine bessere Leistung
+bei Maps, die von vielen Anfragen aufgerufen werden.
+</p>
+</div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="prg" id="prg">prg: Externes Umschreibungsprogramm</a> <a title="Permanent link" href="#prg" class="permalink">¶</a></h2>
+
+ <p>Wenn ein MapType von <code>prg</code> verwendet wird, ist die
+ MapSource ein Dateisystempfad zu einem ausführbaren Programm, das
+ das Zuordnungsverhalten bereitstellt. Dies kann eine kompilierte
+ Binärdatei oder ein Programm in einer interpretierten Sprache wie
+ Python oder Perl sein.</p>
+
+ <p>Dieses Programm wird einmal beim Start des Apache HTTP Servers
+ gestartet und kommuniziert dann mit der Umschreibungs-Engine über
+ <code>STDIN</code> und <code>STDOUT</code>. Für jede Map-Funktions-Nachschlagung
+ wird der Schlüssel auf das <code>STDIN</code> des Programms geschrieben,
+ gefolgt von einem Zeilenumbruch. Das Programm sollte eine Zeile von
+ <code>STDIN</code> lesen (bis einschließlich des Zeilenumbruchs) und
+ seine Antwort als einzelne durch einen Zeilenumbruch abgeschlossene
+ Zeile auf <code>STDOUT</code> schreiben. Schlüssel enthalten niemals
+ Zeilenumbrüche; wenn ein Schlüssel mit einem Zeilenumbruch angetroffen
+ wird, schlägt die Nachschlagung fehl.</p>
+
+ <p>Wenn es keinen entsprechenden Nachschlagewert gibt, sollte das
+ Map-Programm den vierstelligen String "<code>NULL</code>" zurückgeben,
+ um dies anzuzeigen. Beachten Sie, dass dieser Vergleich
+ Groß-/Kleinschreibung ignoriert, sodass "null", "Null" usw. ebenfalls
+ als fehlgeschlagene Nachschlagung behandelt werden. Folglich ist es
+ nicht möglich, dass ein Zuordnungsprogramm den literalen String "NULL"
+ als zugeordneten Wert zurückgibt.</p>
+
+ <p>Das <code>STDERR</code> des Programms wird vom httpd-Elternprozess
+ geerbt, sodass alles, was das Programm auf <code>STDERR</code> schreibt,
+ an derselben Stelle wie die eigene Fehlerausgabe von httpd erscheint
+ (typischerweise das <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code>).</p>
+
+ <p>Externe Umschreibungsprogramme werden nicht gestartet, wenn sie in
+ einem Kontext definiert sind, der <code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code> nicht auf <code>on</code>
+ gesetzt hat.</p>
+
+ <p>Standardmäßig werden externe Umschreibungsprogramme als der
+ Benutzer:Gruppe ausgeführt, der httpd gestartet hat. Auf
+ UNIX-Systemen kann dies geändert werden, indem Benutzername und
+ Gruppenname als drittes Argument an
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> im Format
+ <code>username:groupname</code> übergeben werden.</p>
+
+ <p>Diese Funktion nutzt den <code>rewrite-map</code>-Mutex, der
+ für eine zuverlässige Kommunikation mit dem Programm erforderlich ist.
+ Der Mutex-Mechanismus und die Sperrdatei können mit der
+ <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>-Direktive konfiguriert
+ werden.</p>
+
+ <p>Hier wird ein einfaches Beispiel gezeigt, das alle Bindestriche
+ in einem Anfrage-URI durch Unterstriche ersetzt.</p>
+
+ <p><strong>Umschreibungskonfiguration</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap d2u "prg:/www/bin/dash2under.py" apache:apache
+RewriteRule "-" "${d2u:%{REQUEST_URI}}"</pre>
+
+
+ <p><strong>dash2under.py</strong></p>
+ <pre class="prettyprint lang-python">#!/usr/bin/env python3
+import sys
+
+for line in sys.stdin:
+ print(line.strip().replace('-', '_'), flush=True)</pre>
+
+
+<div class="note"><h3>Vorsicht!</h3>
+<ul>
+<li>Halten Sie Ihr Rewrite-Map-Programm so einfach wie möglich. Wenn das
+Programm hängt, wartet httpd unbegrenzt auf eine Antwort von der Map,
+was wiederum dazu führt, dass httpd nicht mehr auf Anfragen reagiert.</li>
+<li>Stellen Sie sicher, dass Sie die Pufferung in Ihrem Programm
+deaktivieren. Im obigen Python-Beispiel geschieht dies durch Übergabe von
+<code>flush=True</code> an <code>print()</code>. Gepufferte I/O bewirkt,
+dass httpd auf die Ausgabe wartet und daher hängen bleibt.</li>
+<li>Denken Sie daran, dass nur eine Kopie des Programms existiert, die
+beim Serverstart gestartet wird. Alle Anfragen müssen durch diesen einen
+Engpass gehen. Dies kann bei vielen Anfragen oder bei einem sehr langsamen
+Skript zu erheblichen Verlangsamungen führen.</li>
+<li>Wenn das Zuordnungsprogramm beendet wird, wird es nicht automatisch
+neu gestartet. Nachfolgende Nachschlagungen werden fehlschlagen, bis der
+Server neu gestartet wird.</li>
+<li>Das Zuordnungsprogramm wird bei jedem Server-Neustart (ob
+graceful oder nicht) beendet und neu gestartet, unabhängig davon,
+ob sich die zugehörigen Konfigurationsdirektiven geändert haben. Beim
+Herunterfahren wird dem Programm <code>SIGTERM</code> gesendet; wenn
+es nicht innerhalb von 3 Sekunden beendet wird, wird <code>SIGKILL</code>
+gesendet.</li>
+</ul>
+</div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="dbd" id="dbd">dbd oder fastdbd: SQL-Abfrage</a> <a title="Permanent link" href="#dbd" class="permalink">¶</a></h2>
+
+
+ <p>Wenn ein MapType von <code>dbd</code> oder <code>fastdbd</code>
+ verwendet wird, ist die MapSource eine SQL-SELECT-Anweisung, die
+ ein einzelnes Argument entgegennimmt und einen einzelnen Wert
+ zurückgibt.</p>
+
+ <p><code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> muss so konfiguriert werden, dass es auf
+ die richtige Datenbank zeigt, damit diese Anweisung ausgeführt werden
+ kann.</p>
+
+ <p>Es gibt zwei Formen dieses MapType. Bei Verwendung eines MapType
+ von <code>dbd</code> wird die Abfrage bei jeder Map-Anfrage ausgeführt,
+ während bei <code>fastdbd</code> die Datenbank-Nachschlagungen intern
+ zwischengespeichert werden. Obwohl <code>fastdbd</code> effizienter
+ und daher schneller ist, werden Änderungen an der Datenbank erst nach
+ einem Neustart des Servers übernommen.</p>
+
+ <p>Wenn eine Abfrage mehr als eine Zeile zurückgibt, wird eine
+ zufällige Zeile aus der Ergebnismenge verwendet.</p>
+
+ <div class="example"><h3>Beispiel</h3><pre class="prettyprint lang-config">RewriteMap myquery "fastdbd:SELECT destination FROM rewrite WHERE source = %s"</pre>
+</div>
+
+ <div class="note"><h3>Hinweis</h3>
+ <p>Der Abfragename wird als Label für eine vorbereitete
+ SQL-Anweisung an den Datenbanktreiber übergeben und muss daher alle
+ Regeln (wie Groß-/Kleinschreibung) einhalten, die Ihre Datenbank
+ erfordert.</p></div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="summary" id="summary">Zusammenfassung</a> <a title="Permanent link" href="#summary" class="permalink">¶</a></h2>
+
+
+ <p>Die <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>-Direktive
+ kann mehrfach vorkommen. Verwenden Sie für jede Zuordnungsfunktion eine
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>-Direktive, um
+ ihre Umschreibungs-Map-Datei zu deklarieren.</p>
+
+ <p>Obwohl Sie eine Map nicht im Verzeichniskontext
+ (<code>.htaccess</code>-Dateien oder
+ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>-Blöcke)
+ <strong>deklarieren</strong> können, ist es möglich, diese Map im
+ Verzeichniskontext zu <strong>verwenden</strong>.</p>
+
+ </div></div>
+<div class="bottomlang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/rewritemap.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.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 />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Using RewriteMap</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/rewritemap.html" title="English"> en </a> |
-<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/rewritemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
</div></div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/rewritemap.html" title="English"> en </a> |
-<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/rewritemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="es" xml:lang="es"><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>Uso de RewriteMap - Servidor HTTP Apache Versión 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p>
+<p class="apache">Versión 2.5 del Servidor HTTP Apache</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/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Uso de RewriteMap</h1>
+<div class="toplang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/rewritemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+ <p>Este documento complementa la <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">documentación de referencia</a>. Describe
+el uso de la directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>,
+y proporciona ejemplos de cada uno de los diversos tipos de <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>.</p>
+
+ <div class="warning">Tenga en cuenta que muchos de estos ejemplos no funcionarán sin cambios en su
+configuración particular del servidor, por lo que es importante que los
+entienda, en lugar de simplemente copiar y pegar los ejemplos en su
+configuración.</div>
+
+ </div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introducción</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#int">int: Función Interna</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#txt">txt: Mapas de texto plano</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rnd">rnd: Texto Plano Aleatorizado</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dbm">dbm: Archivo Hash DBM</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#prg">prg: Programa de Reescritura Externo</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dbd">dbd o fastdbd: Consulta SQL</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#summary">Resumen</a></li>
+</ul><h3>Consulte también</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentación del módulo</a></li><li><a href="intro.html">Introducción a mod_rewrite</a></li><li><a href="remapping.html">Redirección y remapeo</a></li><li><a href="access.html">Control de acceso</a></li><li><a href="vhosts.html">Hosts virtuales</a></li><li><a href="proxy.html">Proxy</a></li><li><a href="advanced.html">Técnicas avanzadas</a></li><li><a href="avoid.html">Cuándo no usar mod_rewrite</a></li><li><a href="#comments_section">Comentarios</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="introduction" id="introduction">Introducción</a> <a title="Enlace permanente" href="#introduction" class="permalink">¶</a></h2>
+
+
+ <p>
+ La directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ define una función externa que puede ser llamada en el contexto de
+ directivas <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> o
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> para
+ realizar reescrituras que son demasiado complicadas, o demasiado especializadas para ser
+ realizadas solo con expresiones regulares. La fuente de esta búsqueda puede
+ ser cualquiera de los tipos listados en las secciones siguientes, y enumerados en
+ la documentación de referencia de <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>.</p>
+
+ <p>La sintaxis de la directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ es la siguiente:</p>
+
+<pre class="prettyprint lang-config">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
+</pre>
+
+
+ <p>El <a id="mapfunc" name="mapfunc"><em>MapName</em></a> es un
+ nombre arbitrario que asigna al mapa, y que usará en
+ directivas más adelante. Los argumentos se pasan al mapa a través de la
+ siguiente sintaxis:</p>
+
+ <p class="indent">
+ <strong>
+ <code>${</code> <em>MapName</em> <code>:</code> <em>LookupKey</em>
+ <code>}</code> <br /> <code>${</code> <em>MapName</em> <code>:</code>
+ <em>LookupKey</em> <code>|</code> <em>DefaultValue</em> <code>}</code>
+ </strong>
+ </p>
+
+ <p>Cuando se encuentra tal construcción, se consulta el mapa <em>MapName</em>
+ y se busca la clave <em>LookupKey</em>. Si la
+ clave se encuentra, la construcción de función de mapa se sustituye por
+ <em>SubstValue</em>. Si la clave no se encuentra entonces se
+ sustituye por <em>DefaultValue</em> o por la cadena vacía
+ si no se especificó <em>DefaultValue</em>.</p>
+
+ <p>Por ejemplo, puede definir un
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> como:</p>
+ <pre class="prettyprint lang-config">RewriteMap examplemap "txt:/path/to/file/map.txt"</pre>
+
+ <p>Entonces podrá usar este mapa en una
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> de la siguiente manera:</p>
+ <pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1}"</pre>
+
+
+<p>Se puede especificar un valor predeterminado en caso de que no se encuentre nada
+en el mapa:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1|/not_found.html}"</pre>
+
+
+<div class="note"><h3>Contexto per-directorio y .htaccess</h3>
+<p>
+La directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> no puede usarse
+en secciones <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ni en
+archivos <code>.htaccess</code>. Debe
+declarar el mapa en contexto de servidor o virtualhost. Puede usar el mapa,
+una vez creado, en sus directivas <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> y
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> en esos
+ámbitos. Simplemente no puede <strong>declararlo</strong> en esos ámbitos.</p>
+</div>
+
+<p>Las secciones siguientes describen los diversos <em>MapType</em>s que
+pueden usarse, y dan ejemplos de cada uno.</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="int" id="int">int: Función Interna</a> <a title="Enlace permanente" href="#int" class="permalink">¶</a></h2>
+
+
+ <p>Cuando se usa un MapType de <code>int</code>, el MapSource es una
+ de las funciones internas disponibles de <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>.
+ Los autores de módulos pueden proporcionar
+ funciones internas adicionales registrándolas con la
+ API <code>ap_register_rewrite_mapfunc</code>.
+ Las funciones que se proporcionan por defecto son:
+ </p>
+
+ <ul>
+ <li><strong>toupper</strong>:<br />
+ Convierte la clave a todo mayúsculas.</li>
+ <li><strong>tolower</strong>:<br />
+ Convierte la clave a todo minúsculas.</li>
+ <li><strong>escape</strong>:<br />
+ Traduce caracteres especiales en la clave a
+ codificaciones hexadecimales.</li>
+ <li><strong>unescape</strong>:<br />
+ Traduce codificaciones hexadecimales en la clave de vuelta a
+ caracteres especiales.</li>
+ </ul>
+
+ <p>
+ Para usar una de estas funciones, cree un <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> que referencie
+ la función int, y luego úselo en su <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>:
+ </p>
+
+ <p><strong>Redirigir una URI a una versión toda en minúsculas de sí misma</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap lc int:tolower
+RewriteRule "(.*)" "${lc:$1}" [R]</pre>
+
+
+ <div class="note">
+ <p>Por favor tenga en cuenta que el ejemplo ofrecido aquí es para
+ fines ilustrativos únicamente, y no es una recomendación. Si desea
+ hacer URLs insensibles a mayúsculas/minúsculas, considere usar
+ <code class="module"><a href="../mod/mod_speling.html">mod_speling</a></code> en su lugar.
+ </p>
+ </div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="txt" id="txt">txt: Mapas de texto plano</a> <a title="Enlace permanente" href="#txt" class="permalink">¶</a></h2>
+
+
+ <p>Cuando se usa un MapType de <code>txt</code>, el MapSource es una ruta del sistema de archivos a un
+ archivo de mapeo de texto plano, que contiene un par clave/valor separado por espacios
+ por línea. Opcionalmente, una línea puede contener un comentario, comenzando con
+ un carácter '#'.</p>
+
+ <p>Un archivo de mapa de reescritura de texto válido tendrá la siguiente sintaxis:</p>
+
+ <div class="example"><p><code>
+ # Línea de comentario<br />
+ <strong><em>MatchingKey</em> <em>SubstValue</em></strong><br />
+ <strong><em>MatchingKey</em> <em>SubstValue</em></strong> # comentario<br />
+ </code></p></div>
+
+ <p>Cuando se invoca el <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>,
+ el argumento se busca en el
+ primer argumento de una línea, y, si se encuentra, se devuelve el valor de
+ sustitución.</p>
+
+ <p>Por ejemplo, podemos usar un archivo de mapa para traducir nombres de productos a
+ IDs de productos para URLs más fáciles de recordar, usando la siguiente
+ receta:</p>
+<p><strong>Configuración de Producto a ID</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap product2id "txt:/etc/apache2/productmap.txt"
+RewriteRule "^/product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]</pre>
+
+
+ <p>Asumimos aquí que el script <code>prods.php</code> sabe qué
+ hacer cuando recibe un argumento de <code>id=NOTFOUND</code> cuando
+ un producto no se encuentra en el mapa de búsqueda.</p>
+
+ <p>El archivo <code>/etc/apache2/productmap.txt</code> entonces contiene
+ lo siguiente:</p>
+
+ <div class="example"><h3>Mapa de Producto a ID</h3><p><code>
+##<br />
+## productmap.txt - Archivo de mapa de Producto a ID<br />
+##<br />
+<br />
+television 993<br />
+stereo 198<br />
+fishingrod 043<br />
+basketball 418<br />
+telephone 328
+ </code></p></div>
+
+ <p>Así, cuando se solicita <code>http://example.com/product/television</code>,
+ se aplica la <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>,
+ y la solicitud
+ se mapea internamente a <code>/prods.php?id=993</code>.</p>
+
+ <div class="note"><h3>Nota: archivos .htaccess</h3>
+ El ejemplo dado está diseñado para usarse en contexto de servidor o virtualhost.
+ Si planea usarlo en un archivo <code>.htaccess</code>,
+ necesitará eliminar la barra inicial del patrón de
+ reescritura para que coincida con algo:
+ <pre class="prettyprint lang-config">RewriteRule "^product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]</pre>
+
+ </div>
+
+ <div class="note"><h3>Búsquedas en caché</h3>
+ <p>
+ Las claves buscadas son almacenadas en caché por httpd hasta que el <code>mtime</code>
+ (tiempo de modificación) del archivo de mapa cambia, o el servidor httpd se
+ reinicia. Esto asegura un mejor rendimiento en mapas que son llamados
+ por muchas solicitudes.
+ </p>
+ </div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rnd" id="rnd">rnd: Texto Plano Aleatorizado</a> <a title="Enlace permanente" href="#rnd" class="permalink">¶</a></h2>
+
+
+ <p>Cuando se usa un MapType de <code>rnd</code>, el MapSource es una
+ ruta del sistema de archivos a un archivo de mapeo de texto plano, cada línea del cual
+ contiene una clave, y uno o más valores separados por <code>|</code>.
+ Uno de estos valores se elegirá al azar si la clave
+ coincide.</p>
+
+ <p>Por ejemplo, puede usar el siguiente archivo de mapa
+ y directivas para proporcionar un balanceo de carga aleatorio entre
+ varios servidores backend, a través de un proxy inverso. Las imágenes se envían
+ a uno de los servidores en el grupo 'static', mientras que todo
+ lo demás se envía a uno del grupo 'dynamic'.</p>
+
+ <div class="example"><h3>Archivo de mapa de reescritura</h3><p><code>
+##<br />
+## map.txt -- mapa de reescritura<br />
+##<br />
+<br />
+static www1|www2|www3|www4<br />
+dynamic www5|www6
+ </code></p></div>
+<p><strong>Directivas de configuración</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap servers "rnd:/path/to/file/map.txt"
+
+RewriteRule "^/(.*\.(png|gif|jpg))" "http://${servers:static}/$1" [NC,P,L]
+RewriteRule "^/(.*)" "http://${servers:dynamic}/$1" [P,L]</pre>
+
+
+ <p>Así, cuando se solicita una imagen y la primera de estas reglas
+ coincide, <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> busca la cadena
+ <code>static</code> en el archivo de mapa, que devuelve uno de los
+ nombres de host especificados al azar, que luego se usa en el
+ destino de la <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>.</p>
+
+ <p>Si quisiera que uno de los servidores sea más probable de ser elegido
+ (por ejemplo, si uno de los servidores tiene más memoria que los otros,
+ y por lo tanto puede manejar más solicitudes) simplemente listelo más veces en el
+ archivo de mapa.</p>
+
+ <div class="example"><p><code>
+static www1|www1|www2|www3|www4
+ </code></p></div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="dbm" id="dbm">dbm: Archivo Hash DBM</a> <a title="Enlace permanente" href="#dbm" class="permalink">¶</a></h2>
+
+
+ <p>Cuando se usa un MapType de <code>dbm</code>, el MapSource es una
+ ruta del sistema de archivos a un archivo de base de datos DBM que contiene pares clave/valor para
+ ser usados en el mapeo. Esto funciona exactamente igual que el
+ mapa <code>txt</code>, pero es mucho más rápido, porque un DBM está indexado,
+ mientras que un archivo de texto no. Esto permite un acceso más rápido a la
+ clave deseada.</p>
+
+ <p>Opcionalmente puede especificar un tipo particular de dbm:</p>
+
+ <pre class="prettyprint lang-config">RewriteMap examplemap "dbm=sdbm:/etc/apache/mapfile.dbm"</pre>
+
+
+ <p>El tipo puede ser <code>sdbm</code>, <code>gdbm</code>, <code>ndbm</code>
+ o <code>db</code>.
+ Sin embargo, se recomienda que simplemente use la utilidad <a href="../programs/httxt2dbm.html">httxt2dbm</a> que se
+ proporciona con Apache HTTP Server, ya que usará la biblioteca DBM correcta,
+ que coincida con la que se usó cuando se compiló httpd mismo.</p>
+
+ <p>Para crear un archivo dbm, primero cree un archivo de mapa de texto como se describe
+ en la sección <a href="#txt">txt</a>. Luego ejecute
+ <code>httxt2dbm</code>:</p>
+
+<div class="example"><p><code>
+$ httxt2dbm -i mapfile.txt -o mapfile.map
+</code></p></div>
+
+<p>Luego puede referenciar el archivo resultante en su
+directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>:</p>
+
+<pre class="prettyprint lang-config">RewriteMap mapname "dbm:/etc/apache/mapfile.map"</pre>
+
+
+<div class="note">
+<p>Tenga en cuenta que con algunos tipos de dbm, se genera más de un archivo, con
+un nombre base común. Por ejemplo, puede tener dos archivos llamados
+<code>mapfile.map.dir</code> y <code>mapfile.map.pag</code>. Esto es
+normal, y solo necesita usar el nombre base <code>mapfile.map</code> en
+su directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>.</p>
+</div>
+
+<div class="note"><h3>Búsquedas en caché</h3>
+<p>
+Las claves buscadas son almacenadas en caché por httpd hasta que el <code>mtime</code>
+(tiempo de modificación) del archivo de mapa cambia, o el servidor httpd se
+reinicia. Esto asegura un mejor rendimiento en mapas que son llamados
+por muchas solicitudes.
+</p>
+</div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="prg" id="prg">prg: Programa de Reescritura Externo</a> <a title="Enlace permanente" href="#prg" class="permalink">¶</a></h2>
+
+ <p>Cuando se usa un MapType de <code>prg</code>, el MapSource es una
+ ruta del sistema de archivos a un programa ejecutable que proporcionará el
+ comportamiento de mapeo. Puede ser un archivo binario compilado, o un programa
+ en un lenguaje interpretado como Python o Perl.</p>
+
+ <p>Este programa se inicia una vez, cuando se inicia Apache HTTP Server,
+ y luego se comunica con el motor de reescritura a través de
+ <code>STDIN</code> y <code>STDOUT</code>. Para cada búsqueda de función de mapa,
+ la clave se escribe en el <code>STDIN</code> del programa,
+ seguida de un carácter de nueva línea. El programa debería leer una línea
+ de <code>STDIN</code> (hasta e incluyendo la nueva línea), y
+ escribir su respuesta como una única línea terminada en nueva línea en
+ <code>STDOUT</code>. Las claves nunca contendrán caracteres de nueva línea;
+ si se encuentra una clave que contenga una nueva línea, la búsqueda
+ fallará.</p>
+
+ <p>Si no hay un valor de búsqueda correspondiente, el programa de mapa
+ debería devolver la cadena de cuatro caracteres "<code>NULL</code>" para
+ indicar esto. Tenga en cuenta que esta comparación no distingue entre mayúsculas y minúsculas, así que
+ "null", "Null", etc. también se tratan como una búsqueda fallida. Como
+ consecuencia, no es posible que un programa de mapeo devuelva
+ la cadena literal "NULL" como valor mapeado.</p>
+
+ <p>El <code>STDERR</code> del programa se hereda del
+ proceso padre de httpd, por lo que cualquier cosa que el programa escriba en
+ <code>STDERR</code> terminará en el mismo lugar que la propia
+ salida de errores de httpd (típicamente el <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code>).</p>
+
+ <p>Los programas de reescritura externos no se inician si están definidos en
+ un contexto que no tiene <code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code> establecido a
+ <code>on</code>.</p>
+
+ <p>Por defecto, los programas de reescritura externos se ejecutan como el
+ usuario:grupo que inició httpd. Esto puede cambiarse en sistemas UNIX
+ pasando nombre de usuario y nombre de grupo como tercer argumento a
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> en el
+ formato <code>username:groupname</code>.</p>
+
+ <p>Esta característica utiliza el mutex <code>rewrite-map</code>,
+ que es necesario para una comunicación fiable con el programa.
+ El mecanismo de mutex y el archivo de bloqueo pueden configurarse con la
+ directiva <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>.</p>
+
+ <p>Aquí se muestra un ejemplo simple que reemplazará todos los guiones con
+ guiones bajos en una URI de solicitud.</p>
+
+ <p><strong>Configuración de reescritura</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap d2u "prg:/www/bin/dash2under.py" apache:apache
+RewriteRule "-" "${d2u:%{REQUEST_URI}}"</pre>
+
+
+ <p><strong>dash2under.py</strong></p>
+ <pre class="prettyprint lang-python">#!/usr/bin/env python3
+import sys
+
+for line in sys.stdin:
+ print(line.strip().replace('-', '_'), flush=True)</pre>
+
+
+<div class="note"><h3>¡Precaución!</h3>
+<ul>
+<li>Mantenga su programa de mapa de reescritura lo más simple posible. Si el programa
+se cuelga, causará que httpd espere indefinidamente por una respuesta del
+mapa, lo que a su vez causará que httpd deje de responder a
+solicitudes.</li>
+<li>Asegúrese de desactivar el buffering en su programa. En el ejemplo de Python
+anterior, esto se hace pasando <code>flush=True</code> a
+<code>print()</code>. La E/S con buffer causará que httpd espere la
+salida, y por lo tanto se colgará.</li>
+<li>Recuerde que solo hay una copia del programa, iniciada al
+arrancar el servidor. Todas las solicitudes necesitarán pasar por este único cuello de botella.
+Esto puede causar ralentizaciones significativas si muchas solicitudes deben pasar por
+este proceso, o si el script en sí es muy lento.</li>
+<li>Si el programa de mapeo termina, no se reiniciará automáticamente.
+Las búsquedas posteriores fallarán hasta que el servidor sea
+reiniciado.</li>
+<li>El programa de mapeo siempre se mata y reinicia en cualquier
+reinicio del servidor (graceful o de otro tipo), independientemente de si las
+directivas de configuración relacionadas han cambiado. Al apagar, se envía
+<code>SIGTERM</code> al programa; si no sale dentro de 3 segundos, se
+le envía <code>SIGKILL</code>.</li>
+</ul>
+</div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="dbd" id="dbd">dbd o fastdbd: Consulta SQL</a> <a title="Enlace permanente" href="#dbd" class="permalink">¶</a></h2>
+
+
+ <p>Cuando se usa un MapType de <code>dbd</code> o <code>fastdbd</code>,
+ el MapSource es una sentencia SQL SELECT que toma un solo
+ argumento y devuelve un solo valor.</p>
+
+ <p><code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> necesitará estar configurado para apuntar a
+ la base de datos correcta para que esta sentencia se ejecute.</p>
+
+ <p>Hay dos formas de este MapType.
+ Usar un MapType de <code>dbd</code> causa que la consulta se
+ ejecute con cada solicitud de mapa, mientras que usar <code>fastdbd</code>
+ almacena en caché las búsquedas de base de datos internamente. Así, mientras que
+ <code>fastdbd</code> es más eficiente, y por lo tanto más rápido, no
+ reflejará los cambios en la base de datos hasta que el servidor sea
+ reiniciado.</p>
+
+ <p>Si una consulta devuelve más de una fila, se usa una fila aleatoria del
+ conjunto de resultados.</p>
+
+ <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">RewriteMap myquery "fastdbd:SELECT destination FROM rewrite WHERE source = %s"</pre>
+</div>
+
+ <div class="note"><h3>Nota</h3>
+ <p>El nombre de la consulta se pasa al controlador de base de datos como una etiqueta para
+ una sentencia SQL preparada, y por lo tanto necesitará seguir cualquier regla
+ (como sensibilidad a mayúsculas/minúsculas) requerida por su base de datos.</p></div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="summary" id="summary">Resumen</a> <a title="Enlace permanente" href="#summary" class="permalink">¶</a></h2>
+
+
+ <p>La directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> puede
+ aparecer más de una vez. Para cada función de mapeo use una
+ directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> para declarar
+ su archivo de mapa de reescritura.</p>
+
+ <p>Aunque no puede <strong>declarar</strong> un mapa en
+ contexto per-directorio (archivos <code>.htaccess</code> o
+ bloques <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>) es
+ posible <strong>usar</strong> este mapa en contexto per-directorio.</p>
+
+ </div></div>
+<div class="bottomlang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/rewritemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.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 />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Utilisation de RewriteMap</h1>
<div class="toplang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/rewritemap.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/rewritemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
</div></div>
<div class="bottomlang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/rewritemap.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/rewritemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.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 />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="ja" xml:lang="ja"><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>RewriteMap の使用 - Apache HTTP サーバ バージョン 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
+<p class="apache">Apache HTTP サーバ バージョン 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>RewriteMap の使用</h1>
+<div class="toplang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/rewritemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+ <p>このドキュメントは <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">リファレンスドキュメント</a>を補足するものです。
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> ディレクティブの使用方法を
+説明し、さまざまな <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+タイプの例を提供します。</p>
+
+ <div class="warning">これらの例の多くは、特定のサーバ設定ではそのまま
+動作しないことに注意してください。そのため、単にコピー&ペーストするのではなく、
+内容を理解することが重要です。</div>
+
+ </div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">はじめに</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#int">int: 内部関数</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#txt">txt: プレーンテキストマップ</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rnd">rnd: ランダム化プレーンテキスト</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dbm">dbm: DBM ハッシュファイル</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#prg">prg: 外部書き換えプログラム</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dbd">dbd または fastdbd: SQL クエリ</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#summary">まとめ</a></li>
+</ul><h3>参照</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">モジュールドキュメント</a></li><li><a href="intro.html">mod_rewrite 入門</a></li><li><a href="remapping.html">リダイレクトとリマッピング</a></li><li><a href="access.html">アクセス制御</a></li><li><a href="vhosts.html">バーチャルホスト</a></li><li><a href="proxy.html">プロキシ</a></li><li><a href="advanced.html">高度なテクニック</a></li><li><a href="avoid.html">mod_rewrite を使わない場合</a></li><li><a href="#comments_section">コメント</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="introduction" id="introduction">はじめに</a> <a title="Permanent link" href="#introduction" class="permalink">¶</a></h2>
+
+
+ <p>
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> ディレクティブは、
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> または
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> ディレクティブの
+ コンテキストで呼び出せる外部関数を定義し、正規表現だけでは実行が
+ 複雑すぎたり特殊すぎたりする書き換えを行います。この検索のソースは、
+ 以下のセクションに記載されているタイプのいずれかで、
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> リファレンス
+ ドキュメントに列挙されています。</p>
+
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ ディレクティブの構文は以下の通りです:</p>
+
+<pre class="prettyprint lang-config">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
+</pre>
+
+
+ <p><a id="mapfunc" name="mapfunc"><em>MapName</em></a> は、
+ マップに割り当てる任意の名前で、後のディレクティブで使用します。
+ 引数は以下の構文でマップに渡されます:</p>
+
+ <p class="indent">
+ <strong>
+ <code>${</code> <em>MapName</em> <code>:</code> <em>LookupKey</em>
+ <code>}</code> <br /> <code>${</code> <em>MapName</em> <code>:</code>
+ <em>LookupKey</em> <code>|</code> <em>DefaultValue</em> <code>}</code>
+ </strong>
+ </p>
+
+ <p>このような構文が出現すると、マップ <em>MapName</em> が参照され、
+ キー <em>LookupKey</em> が検索されます。キーが見つかった場合、
+ マップ関数の構文は <em>SubstValue</em> で置換されます。キーが
+ 見つからなかった場合は、<em>DefaultValue</em> で置換されるか、
+ <em>DefaultValue</em> が指定されていない場合は空文字列で
+ 置換されます。</p>
+
+ <p>例えば、<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> を
+ 以下のように定義できます:</p>
+ <pre class="prettyprint lang-config">RewriteMap examplemap "txt:/path/to/file/map.txt"</pre>
+
+ <p>その後、このマップを <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ で以下のように使用できます:</p>
+ <pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1}"</pre>
+
+
+<p>マップで何も見つからなかった場合に備えて、デフォルト値を指定
+できます:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1|/not_found.html}"</pre>
+
+
+<div class="note"><h3>ディレクトリ単位および .htaccess コンテキスト</h3>
+<p>
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> ディレクティブは
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> セクションや
+<code>.htaccess</code> ファイルでは使用できません。マップはサーバまたは
+バーチャルホストのコンテキストで宣言する必要があります。作成したマップは、
+それらのスコープ内の <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+および <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+ディレクティブで使用できます。それらのスコープでマップを
+<strong>宣言</strong>することはできません。</p>
+</div>
+
+<p>以下のセクションでは、使用可能なさまざまな <em>MapType</em> を
+説明し、それぞれの例を示します。</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="int" id="int">int: 内部関数</a> <a title="Permanent link" href="#int" class="permalink">¶</a></h2>
+
+
+ <p>MapType に <code>int</code> を使用すると、MapSource は利用可能な
+ 内部 <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> 関数の
+ いずれかになります。モジュール作成者は、
+ <code>ap_register_rewrite_mapfunc</code> API を使用して追加の内部
+ 関数を登録できます。
+ デフォルトで提供される関数は以下の通りです:
+ </p>
+
+ <ul>
+ <li><strong>toupper</strong>:<br />
+ キーをすべて大文字に変換します。</li>
+ <li><strong>tolower</strong>:<br />
+ キーをすべて小文字に変換します。</li>
+ <li><strong>escape</strong>:<br />
+ キー内の特殊文字を 16 進エンコーディングに変換します。</li>
+ <li><strong>unescape</strong>:<br />
+ キー内の 16 進エンコーディングを特殊文字に戻します。</li>
+ </ul>
+
+ <p>
+ これらの関数のいずれかを使用するには、int 関数を参照する
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> を作成し、
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> で使用します:
+ </p>
+
+ <p><strong>URI をすべて小文字のバージョンにリダイレクト</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap lc int:tolower
+RewriteRule "(.*)" "${lc:$1}" [R]</pre>
+
+
+ <div class="note">
+ <p>ここで提供されている例は説明目的のみであり、推奨ではありません。
+ URL を大文字小文字を区別しないようにしたい場合は、代わりに
+ <code class="module"><a href="../mod/mod_speling.html">mod_speling</a></code> の使用を検討してください。
+ </p>
+ </div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="txt" id="txt">txt: プレーンテキストマップ</a> <a title="Permanent link" href="#txt" class="permalink">¶</a></h2>
+
+
+ <p>MapType に <code>txt</code> を使用すると、MapSource はプレーンテキストの
+ マッピングファイルへのファイルシステムパスで、1 行に 1 つのスペース区切りの
+ キー/値ペアが含まれます。オプションで、'#' 文字で始まるコメント行を
+ 含めることができます。</p>
+
+ <p>有効なテキスト書き換えマップファイルの構文は以下の通りです:</p>
+
+ <div class="example"><p><code>
+ # コメント行<br />
+ <strong><em>MatchingKey</em> <em>SubstValue</em></strong><br />
+ <strong><em>MatchingKey</em> <em>SubstValue</em></strong> # コメント<br />
+ </code></p></div>
+
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> が呼び出されると、
+ 引数が各行の最初の引数から検索され、見つかった場合は置換値が
+ 返されます。</p>
+
+ <p>例えば、マップファイルを使用して製品名を製品 ID に変換し、
+ 覚えやすい URL を実現するには、以下のレシピを使用できます:</p>
+<p><strong>製品から ID への設定</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap product2id "txt:/etc/apache2/productmap.txt"
+RewriteRule "^/product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]</pre>
+
+
+ <p>ここでは、<code>prods.php</code> スクリプトが
+ <code>id=NOTFOUND</code> という引数を受け取った場合の処理を
+ 理解していると仮定しています (検索マップで製品が見つからなかった場合)。</p>
+
+ <p>ファイル <code>/etc/apache2/productmap.txt</code> には
+ 以下が含まれます:</p>
+
+ <div class="example"><h3>製品から ID へのマップ</h3><p><code>
+##<br />
+## productmap.txt - 製品から ID へのマップファイル<br />
+##<br />
+<br />
+television 993<br />
+stereo 198<br />
+fishingrod 043<br />
+basketball 418<br />
+telephone 328
+ </code></p></div>
+
+ <p>したがって、<code>http://example.com/product/television</code> が
+ リクエストされると、<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ が適用され、リクエストは内部的に <code>/prods.php?id=993</code>
+ にマッピングされます。</p>
+
+ <div class="note"><h3>注: .htaccess ファイル</h3>
+ この例はサーバまたはバーチャルホストのスコープで使用するよう
+ 作成されています。<code>.htaccess</code> ファイルで使用する場合は、
+ 何かにマッチするように書き換えパターンから先頭のスラッシュを
+ 削除する必要があります:
+ <pre class="prettyprint lang-config">RewriteRule "^product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]</pre>
+
+ </div>
+
+ <div class="note"><h3>キャッシュされた検索</h3>
+ <p>
+ 検索されたキーは、マップファイルの <code>mtime</code> (変更時刻) が
+ 変更されるか、httpd サーバが再起動されるまで httpd にキャッシュ
+ されます。これにより、多くのリクエストで呼び出されるマップの
+ パフォーマンスが向上します。
+ </p>
+ </div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rnd" id="rnd">rnd: ランダム化プレーンテキスト</a> <a title="Permanent link" href="#rnd" class="permalink">¶</a></h2>
+
+
+ <p>MapType に <code>rnd</code> を使用すると、MapSource はプレーンテキストの
+ マッピングファイルへのファイルシステムパスで、各行にはキーと
+ <code>|</code> で区切られた 1 つ以上の値が含まれます。キーが
+ マッチすると、これらの値の 1 つがランダムに選択されます。</p>
+
+ <p>例えば、以下のマップファイルとディレクティブを使用して、
+ リバースプロキシ経由で複数のバックエンドサーバ間のランダムな
+ ロードバランシングを提供できます。画像は 'static' プール内の
+ サーバの 1 つに送信され、それ以外は 'dynamic' プールの 1 つに
+ 送信されます。</p>
+
+ <div class="example"><h3>書き換えマップファイル</h3><p><code>
+##<br />
+## map.txt -- 書き換えマップ<br />
+##<br />
+<br />
+static www1|www2|www3|www4<br />
+dynamic www5|www6
+ </code></p></div>
+<p><strong>設定ディレクティブ</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap servers "rnd:/path/to/file/map.txt"
+
+RewriteRule "^/(.*\.(png|gif|jpg))" "http://${servers:static}/$1" [NC,P,L]
+RewriteRule "^/(.*)" "http://${servers:dynamic}/$1" [P,L]</pre>
+
+
+ <p>画像がリクエストされ、最初のルールがマッチすると、
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> はマップファイルで
+ 文字列 <code>static</code> を検索し、指定されたホスト名の 1 つを
+ ランダムに返します。それが <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ のターゲットで使用されます。</p>
+
+ <p>サーバの 1 つがより多く選択されるようにしたい場合
+ (例えば、サーバの 1 つがより多くのメモリを持ち、より多くの
+ リクエストを処理できる場合)、マップファイルにそのサーバを
+ 複数回記述してください。</p>
+
+ <div class="example"><p><code>
+static www1|www1|www2|www3|www4
+ </code></p></div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="dbm" id="dbm">dbm: DBM ハッシュファイル</a> <a title="Permanent link" href="#dbm" class="permalink">¶</a></h2>
+
+
+ <p>MapType に <code>dbm</code> を使用すると、MapSource はマッピングで
+ 使用されるキー/値ペアを含む DBM データベースファイルへの
+ ファイルシステムパスです。これは <code>txt</code> マップと
+ まったく同じように動作しますが、DBM はインデックス化されており
+ テキストファイルはそうではないため、はるかに高速です。これにより、
+ 目的のキーへのアクセスが高速になります。</p>
+
+ <p>特定の dbm タイプをオプションで指定できます:</p>
+
+ <pre class="prettyprint lang-config">RewriteMap examplemap "dbm=sdbm:/etc/apache/mapfile.dbm"</pre>
+
+
+ <p>タイプは <code>sdbm</code>、<code>gdbm</code>、<code>ndbm</code>、
+ または <code>db</code> です。
+ ただし、Apache HTTP Server に付属の <a href="../programs/httxt2dbm.html">httxt2dbm</a> ユーティリティを
+ 使用することを推奨します。httpd 自体のビルド時に使用されたものと
+ マッチする正しい DBM ライブラリを使用するためです。</p>
+
+ <p>dbm ファイルを作成するには、まず <a href="#txt">txt</a> セクションで
+ 説明されているテキストマップファイルを作成し、次に
+ <code>httxt2dbm</code> を実行します:</p>
+
+<div class="example"><p><code>
+$ httxt2dbm -i mapfile.txt -o mapfile.map
+</code></p></div>
+
+<p>その後、<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ディレクティブで結果のファイルを参照できます:</p>
+
+<pre class="prettyprint lang-config">RewriteMap mapname "dbm:/etc/apache/mapfile.map"</pre>
+
+
+<div class="note">
+<p>dbm タイプによっては、共通のベース名で複数のファイルが生成される
+ことがあることに注意してください。例えば、<code>mapfile.map.dir</code>
+と <code>mapfile.map.pag</code> という 2 つのファイルが存在する
+場合があります。これは正常であり、<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ディレクティブではベース名 <code>mapfile.map</code> のみを使用
+してください。</p>
+</div>
+
+<div class="note"><h3>キャッシュされた検索</h3>
+<p>
+検索されたキーは、マップファイルの <code>mtime</code> (変更時刻) が
+変更されるか、httpd サーバが再起動されるまで httpd にキャッシュ
+されます。これにより、多くのリクエストで呼び出されるマップの
+パフォーマンスが向上します。
+</p>
+</div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="prg" id="prg">prg: 外部書き換えプログラム</a> <a title="Permanent link" href="#prg" class="permalink">¶</a></h2>
+
+ <p>MapType に <code>prg</code> を使用すると、MapSource はマッピング動作を
+ 提供する実行可能プログラムへのファイルシステムパスです。これは
+ コンパイル済みバイナリファイル、または Python や Perl などの
+ インタプリタ言語のプログラムです。</p>
+
+ <p>このプログラムは Apache HTTP Server の起動時に一度起動され、
+ <code>STDIN</code> と <code>STDOUT</code> を通じて書き換えエンジンと
+ 通信します。各マップ関数の検索では、キーがプログラムの
+ <code>STDIN</code> に書き込まれ、その後に改行文字が続きます。
+ プログラムは <code>STDIN</code> から 1 行 (改行を含む) を読み取り、
+ 応答を改行で終わる 1 行として <code>STDOUT</code> に書き込む
+ 必要があります。キーに改行文字が含まれることはありません。
+ 改行を含むキーが検出された場合、検索は失敗します。</p>
+
+ <p>対応する検索値がない場合、マッププログラムは 4 文字の
+ 文字列 "<code>NULL</code>" を返して、これを示す必要があります。
+ この比較は大文字小文字を区別しないため、"null"、"Null" 等も
+ 検索失敗として扱われます。その結果、マッピングプログラムが
+ リテラル文字列 "NULL" をマップされた値として返すことは
+ できません。</p>
+
+ <p>プログラムの <code>STDERR</code> は httpd 親プロセスから
+ 継承されるため、プログラムが <code>STDERR</code> に書き込む内容は
+ httpd 自体のエラー出力 (通常は <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code>) と同じ場所に記録されます。</p>
+
+ <p>外部書き換えプログラムは、<code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code> が <code>on</code> に
+ 設定されていないコンテキストで定義されている場合は起動されません。</p>
+
+ <p>デフォルトでは、外部書き換えプログラムは httpd を起動した
+ ユーザ:グループとして実行されます。これは UNIX システムでは
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> の 3 番目の
+ 引数として <code>username:groupname</code> 形式でユーザ名と
+ グループ名を渡すことで変更できます。</p>
+
+ <p>この機能は <code>rewrite-map</code> ミューテックスを使用しており、
+ プログラムとの信頼性のある通信に必要です。ミューテックスの
+ メカニズムとロックファイルは <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>
+ ディレクティブで設定できます。</p>
+
+ <p>リクエスト URI 内のすべてのダッシュをアンダースコアに置き換える
+ シンプルな例を以下に示します。</p>
+
+ <p><strong>書き換え設定</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap d2u "prg:/www/bin/dash2under.py" apache:apache
+RewriteRule "-" "${d2u:%{REQUEST_URI}}"</pre>
+
+
+ <p><strong>dash2under.py</strong></p>
+ <pre class="prettyprint lang-python">#!/usr/bin/env python3
+import sys
+
+for line in sys.stdin:
+ print(line.strip().replace('-', '_'), flush=True)</pre>
+
+
+<div class="note"><h3>注意!</h3>
+<ul>
+<li>書き換えマッププログラムはできるだけシンプルに保ってください。
+プログラムがハングすると、httpd はマップからのレスポンスを
+無期限に待つことになり、その結果 httpd がリクエストへの応答を
+停止します。</li>
+<li>プログラムでバッファリングを必ずオフにしてください。上記の
+Python の例では、<code>print()</code> に <code>flush=True</code> を
+渡すことでこれを行っています。バッファされた I/O は httpd が
+出力を待つ原因となり、ハングします。</li>
+<li>プログラムは 1 コピーのみで、サーバ起動時に開始されることを
+忘れないでください。すべてのリクエストはこの 1 つのボトルネックを
+通過する必要があります。多くのリクエストがこのプロセスを通過する
+必要がある場合や、スクリプト自体が非常に遅い場合、これは
+著しい速度低下を引き起こす可能性があります。</li>
+<li>マッピングプログラムが終了しても、自動的に再起動されません。
+以降の検索はサーバが再起動されるまで失敗します。</li>
+<li>マッピングプログラムは、関連する設定ディレクティブが変更されたか
+どうかに関係なく、サーバの再起動 (graceful またはそれ以外) 時に
+常に kill され再起動されます。シャットダウン時にプログラムには
+<code>SIGTERM</code> が送信されます。3 秒以内に終了しない場合は
+<code>SIGKILL</code> が送信されます。</li>
+</ul>
+</div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="dbd" id="dbd">dbd または fastdbd: SQL クエリ</a> <a title="Permanent link" href="#dbd" class="permalink">¶</a></h2>
+
+
+ <p>MapType に <code>dbd</code> または <code>fastdbd</code> を使用すると、
+ MapSource は単一の引数を取り、単一の値を返す SQL SELECT 文です。</p>
+
+ <p>この文を実行するために、<code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> を正しい
+ データベースを指すように設定する必要があります。</p>
+
+ <p>この MapType には 2 つの形式があります。
+ MapType に <code>dbd</code> を使用すると、各マップリクエストで
+ クエリが実行されますが、<code>fastdbd</code> を使用すると
+ データベース検索が内部的にキャッシュされます。したがって、
+ <code>fastdbd</code> はより効率的で高速ですが、サーバが
+ 再起動されるまでデータベースの変更を検出しません。</p>
+
+ <p>クエリが複数の行を返す場合、結果セットからランダムな行が
+ 使用されます。</p>
+
+ <div class="example"><h3>例</h3><pre class="prettyprint lang-config">RewriteMap myquery "fastdbd:SELECT destination FROM rewrite WHERE source = %s"</pre>
+</div>
+
+ <div class="note"><h3>注</h3>
+ <p>クエリ名は SQL プリペアドステートメントのラベルとして
+ データベースドライバに渡されるため、データベースで必要な
+ ルール (大文字小文字の区別など) に従う必要があります。</p></div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="summary" id="summary">まとめ</a> <a title="Permanent link" href="#summary" class="permalink">¶</a></h2>
+
+
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> ディレクティブは
+ 複数回使用できます。各マッピング関数に対して 1 つの
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> ディレクティブを
+ 使用して書き換えマップファイルを宣言してください。</p>
+
+ <p>ディレクトリ単位のコンテキスト (<code>.htaccess</code> ファイルや
+ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ブロック)
+ ではマップを<strong>宣言</strong>できませんが、ディレクトリ単位の
+ コンテキストでこのマップを<strong>使用</strong>することは可能です。</p>
+
+ </div></div>
+<div class="bottomlang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/rewritemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.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="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="EUC-KR"?>
+<!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="ko" xml:lang="ko"><head>
+<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>RewriteMap �¬ì�©í��ê¸� - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>RewriteMap �¬ì�©í��ê¸�</h1>
+<div class="toplang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/rewritemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+ <p>�� 문��� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">참조 문ì��</a>ë¥� ë³´ì¶©�©ë����.
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> ì§����´ì��
+�¬ì�©ë��� �¤ë���ê³� �¤ì���� <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> ������ ����ë¥� ��ê³µí�©ë����.</p>
+
+ <div class="warning">�� ������ ì¤� ë§��� ê²��� �¹ì�� ��ë²� �¤ì������
+ê·¸ë��ë¡� ������ì§� ���� �� ���¼ë��ë¡�, �¨ì���� ����ë¥� ë³µì�¬í����
+�¤ì���� ë¶��¬ë�£ê¸°ë³´ë�¤ë�� �´í�´í���� ê²��� ì¤����©ë����.</div>
+
+ </div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">���</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#int">int: �´ë� �¨ì��</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#txt">txt: �¼ë� ���¤í�� ë§�</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rnd">rnd: 무ì���� �¼ë� ���¤í��</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dbm">dbm: DBM �´ì�� ����</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#prg">prg: �¸ë� �¬ì���� ��ë¡�ê·¸ë��</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dbd">dbd ���� fastdbd: SQL 쿼리</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#summary">����</a></li>
+</ul><h3>Âü°í</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">모ë�� 문ì��</a></li><li><a href="intro.html">mod_rewrite ��ê°�</a></li><li><a href="remapping.html">리ë�¤ì�´ë����ê³� �¬ë§¤��</a></li><li><a href="access.html">��ê·� ����</a></li><li><a href="vhosts.html">ê°��� �¸ì�¤í��</a></li><li><a href="proxy.html">��ë¡���</a></li><li><a href="advanced.html">ê³�ê¸� 기ì��</a></li><li><a href="avoid.html">mod_rewriteë¥� �¬ì�©í��ì§� ë§����� �� ê²½ì��</a></li><li><a href="#comments_section">Comments</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="introduction" id="introduction">��ê°�</a> <a title="Permanent link" href="#introduction" class="permalink">¶</a></h2>
+
+
+ <p>
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> ì§����´ë��
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ����
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> ì§����´ì��
+ 컨í���¤í�¸ì���� �¸ì��� �� ���� �¸ë� �¨ì��ë¥� ��������
+ ��ê·� ������ë§��¼ë��� ��ë¬� ë³µì�¡í��ê±°ë�� ��ë¬� ��문í����
+ �¬ì���±ì�� �����©ë����. �� ì¡°í���� ���¤ë�� ���� �¹ì����
+ ���´ë��ê³� <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ 참조 문ì���� �´ê±°�� ���� ì¤� ������ �� ���µë����.</p>
+
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ ì§����´ì�� 구문�� �¤ì��ê³� ê°��µë����:</p>
+
+<pre class="prettyprint lang-config">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
+</pre>
+
+
+ <p><a id="mapfunc" name="mapfunc"><em>MapName</em></a>��
+ ë§µì�� ���¹í���� ������ �´ë��´ë©°, �´í�� ì§����´ì����
+ �¬ì�©í�©ë����. �¸ì���� �¤ì�� 구문�� �µí�� ë§µì�� ���¬ë�©ë����:</p>
+
+ <p class="indent">
+ <strong>
+ <code>${</code> <em>MapName</em> <code>:</code> <em>LookupKey</em>
+ <code>}</code> <br /> <code>${</code> <em>MapName</em> <code>:</code>
+ <em>LookupKey</em> <code>|</code> <em>DefaultValue</em> <code>}</code>
+ </strong>
+ </p>
+
+ <p>�´ë�¬í�� 구조ê°� ë°�����ë©� ë§� <em>MapName</em>��
+ ì¡°í����ê³� �� <em>LookupKey</em>ê°� ê²����©ë����. �¤ê�
+ ë°�견ë��ë©� ë§� �¨ì�� 구조�� <em>SubstValue</em>ë¡�
+ ��ì²´ë�©ë����. �¤ë�� ì°¾ì� 못í��ë©� <em>DefaultValue</em>ë¡�
+ ��체�거�, <em>DefaultValue</em>� ������ ����
+ ê²½ì�� ë¹� 문ì���´ë� ��ì²´ë�©ë����.</p>
+
+ <p>��ë¥� �¤ì�� �¤ì��ê³� ê°���
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>��
+ ������ �� ���µë����:</p>
+ <pre class="prettyprint lang-config">RewriteMap examplemap "txt:/path/to/file/map.txt"</pre>
+
+ <p>그�면 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>����
+ �¤ì��ê³� ê°��� �� ë§µì�� �¬ì�©í�� �� ���µë����:</p>
+ <pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1}"</pre>
+
+
+<p>ë§µì���� ��무ê��� ì°¾ì� 못í�� ê²½ì�°ë�� ��ë¹����� 기본ê°���
+ì§����� �� ���µë����:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1|/not_found.html}"</pre>
+
+
+<div class="note"><h3>������리ë� ë°� .htaccess 컨í���¤í��</h3>
+<p>
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> ì§����´ë��
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> �¹ì���´ë��
+<code>.htaccess</code> ���¼ì���� �¬ì�©í�� �� ���µë����. ��ë²� ����
+ê°����¸ì�¤í�� 컨í���¤í�¸ì���� ë§µì�� ���¸í�´ì�� �©ë����. �¼ë�� ���±ë�� ë§µì��
+�´ë�� ë²����� <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>ê³�
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> ì§����´ì����
+�¬ì�©í�� �� ���µë����. �´ë�� ë²������� <strong>����</strong>�� ��
+���� �������.</p>
+</div>
+
+<p>�¤ì�� �¹ì�������� �¬ì�©í�� �� ���� �¤ì���� <em>MapType</em>��
+�¤ë���ê³� ê°�ê°��� ����ë¥� ��ê³µí�©ë����.</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="int" id="int">int: �´ë� �¨ì��</a> <a title="Permanent link" href="#int" class="permalink">¶</a></h2>
+
+
+ <p>MapType�� <code>int</code>�� ê²½ì�� MapSource�� �¬ì�� ê°��¥í��
+ �´ë� <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ �¨ì�� ì¤� ����������. 모ë�� ���±ì����
+ <code>ap_register_rewrite_mapfunc</code> APIë¥� �±ë�����
+ ì¶�ê°� �´ë� �¨ì��ë¥� ��ê³µí�� �� ���µë����.
+ 기본���¼ë� ��ê³µë���� �¨ì���� �¤ì��ê³� ê°��µë����:
+ </p>
+
+ <ul>
+ <li><strong>toupper</strong>:<br />
+ �¤ë�� 모ë�� ��문ì��ë¡� ë³����©ë����.</li>
+ <li><strong>tolower</strong>:<br />
+ �¤ë�� 모ë�� ��문ì��ë¡� ë³����©ë����.</li>
+ <li><strong>escape</strong>:<br />
+ �¤ì�� �¹ì�� 문ì��ë¥� 16ì§��� �¸ì��©ì�¼ë� ë³����©ë����.</li>
+ <li><strong>unescape</strong>:<br />
+ �¤ì�� 16ì§��� �¸ì��©ì�� �¤ì�� �¹ì�� 문ì��ë¡� ë³����©ë����.</li>
+ </ul>
+
+ <p>
+ �´ë�¬í�� �¨ì�� ì¤� ����ë¥� �¬ì�©í���¤ë©´ int �¨ì��ë¥� 참조����
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>��
+ ���±í�� �¤ì�� <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>���� �¬ì�©í�©ë����:
+ </p>
+
+ <p><strong>URIë¥� 모ë�� ��문ì�� ë²����¼ë� 리ë�¤ì�´ë����</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap lc int:tolower
+RewriteRule "(.*)" "${lc:$1}" [R]</pre>
+
+
+ <div class="note">
+ <p>�¬ê¸°�� ��ê³µë�� ������ �¤ë� 목ì���¼ë�ë§� ��ê³µë��ë©�
+ ê¶��� �¬í���� ��������. URL�� ����문ì�� 구ë� ����
+ ë§��¤ë�¤ë©´ ���� <code class="module"><a href="../mod/mod_speling.html">mod_speling</a></code> �¬ì�©ì��
+ ê³��¤í��������.
+ </p>
+ </div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="txt" id="txt">txt: �¼ë� ���¤í�� ë§�</a> <a title="Permanent link" href="#txt" class="permalink">¶</a></h2>
+
+
+ <p>MapType�� <code>txt</code>�� 경� MapSource��
+ �� ì¤��� ������ 공백�¼ë� 구ë��� ��/ê°� ���� �¬í�¨í����
+ �¼ë� ���¤í�� 매í�� ���¼ì�� ���� ���¤í�� ê²½ë�������.
+ �������¼ë� '#' 문ì��ë¡� �������� 주ì���� �¬í�¨ë�� ��
+ ���µë����.</p>
+
+ <p>���¨í�� ���¤í�� �¬ì���� ë§� ���¼ì�� �¤ì��ê³� ê°��� 구문��
+ ������:</p>
+
+ <div class="example"><p><code>
+ # 주� �<br />
+ <strong><em>MatchingKey</em> <em>SubstValue</em></strong><br />
+ <strong><em>MatchingKey</em> <em>SubstValue</em></strong> # 주�<br />
+ </code></p></div>
+
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>��
+ �¸ì���ë©� �¸ì��ê°� ì¤��� ì²� ë²�ì§� �¸ì������ ê²�����ê³�,
+ ë°�견ë��ë©� ì¹��� ê°��� ë°����©ë����.</p>
+
+ <p>��ë¥� �¤ì��, 기ì�µí��ê¸� �¬ì�� URL�� ���� ���� �´ë���
+ ���� IDë¡� ë³������� ë§� ���¼ì�� �¬ì�©í�� �� ���µë����:</p>
+<p><strong>�������� IDë¡��� �¤ì��</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap product2id "txt:/etc/apache2/productmap.txt"
+RewriteRule "^/product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]</pre>
+
+
+ <p>�¬ê¸°�� <code>prods.php</code> �¤í�¬ë¦½�¸ë�� ì¡°í�� ë§µì����
+ ������ ì°¾ì� 못í���� �� <code>id=NOTFOUND</code> �¸ì��ë¥�
+ ë°��¼ë©´ �´ë�»ê� �´ì�� ����ì§� ��ê³� ���¤ê� ê°����©ë����.</p>
+
+ <p><code>/etc/apache2/productmap.txt</code> ���¼ì����
+ �¤ì���� �¬í�¨ë�©ë����:</p>
+
+ <div class="example"><h3>�������� ID��� �</h3><p><code>
+##<br />
+## productmap.txt - �������� ID��� � ����<br />
+##<br />
+<br />
+television 993<br />
+stereo 198<br />
+fishingrod 043<br />
+basketball 418<br />
+telephone 328
+ </code></p></div>
+
+ <p>�°ë�¼ì�� <code>http://example.com/product/television</code>��
+ ������ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>��
+ ���©ë��ê³� ��ì²��� �´ë����¼ë�
+ <code>/prods.php?id=993</code>�� 매í���©ë����.</p>
+
+ <div class="note"><h3>ì°¸ê�: .htaccess ����</h3>
+ 주ì�´ì� ������ ��ë²� ���� ê°����¸ì�¤í�� ë²������� �¬ì�©í����ë¡�
+ ���±ë�����µë����. <code>.htaccess</code> ���¼ì���� �¬ì�©í��
+ ê³����´ë�¼ë©´, 무ì���´ë�� �¼ì�����ë¡� �¬ì���� �¨í�´ì���� ����
+ �¬ë����ë¥� ��ê±°í�´ì�� �©ë����:
+ <pre class="prettyprint lang-config">RewriteRule "^product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]</pre>
+
+ </div>
+
+ <div class="note"><h3>����� 조�</h3>
+ <p>
+ ì¡°í���� �¤ë�� ë§� ���¼ì�� <code>mtime</code>(���� ��ê°�)��
+ ë³�ê²½ë��ê±°ë�� httpd ��ë²�ê°� �¬ì������ ��ê¹�ì§� httpd�� ����
+ ìº����©ë����. �´ë�� ë§��� ��ì²��� ���� �¸ì����� ë§µì��
+ �±ë�¥ì�� �¥ì�����µë����.
+ </p>
+ </div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rnd" id="rnd">rnd: 무ì���� �¼ë� ���¤í��</a> <a title="Permanent link" href="#rnd" class="permalink">¶</a></h2>
+
+
+ <p>MapType�� <code>rnd</code>�� ê²½ì�� MapSource�� �¼ë�
+ ���¤í�� 매í�� ���¼ì�� ���� ���¤í�� ê²½ë��´ë©°, ê°� ì¤�����
+ �¤ì�� <code>|</code>ë¡� 구ë��� ���� �´ì���� ê°��� �¬í�¨ë�©ë����.
+ �¤ê� �¼ì���ë©� �� ê°� ì¤� ����ê°� 무ì����ë¡� �����©ë����.</p>
+
+ <p>��ë¥� �¤ì��, 리ë��� ��ë¡���ë¥� �µí�� 무ì���� ë¶��� ë¶��°ì��
+ ���� �¤ì�� ë§� ���¼ê³¼ ì§����´ë�� �¬ì�©í�� �� ���µë����.
+ �´ë�¸ì��� 'static' ���� ��ë²� ì¤� ����ë¡� ���¡ë��ê³�,
+ ��머ì��� 'dynamic' ���� ��ë²� ì¤� ����ë¡� ���¡ë�©ë����.</p>
+
+ <div class="example"><h3>�¬ì���� ë§� ����</h3><p><code>
+##<br />
+## map.txt -- �¬ì���� ë§�<br />
+##<br />
+<br />
+static www1|www2|www3|www4<br />
+dynamic www5|www6
+ </code></p></div>
+<p><strong>�¤ì�� ì§�����</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap servers "rnd:/path/to/file/map.txt"
+
+RewriteRule "^/(.*\.(png|gif|jpg))" "http://${servers:static}/$1" [NC,P,L]
+RewriteRule "^/(.*)" "http://${servers:dynamic}/$1" [P,L]</pre>
+
+
+ <p>�°ë�¼ì�� �´ë�¸ì�ê°� ��ì²���ê³� �� ê·�ì¹� ì¤� ì²� ë²�째ê�
+ �¼ì���ë©� <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>��
+ ë§� ���¼ì���� 문ì���� <code>static</code>�� ì¡°í����ê³�
+ ì§����� �¸ì�¤í�¸ë� ì¤� ����ë¥� 무ì����ë¡� ë°�������
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ �������� �¬ì�©í�©ë����.</p>
+
+ <p>��ë²� ì¤� ����ê°� ������ ��ë¥��� ���´ë�¤ë©´(��ë¥� �¤ì��
+ ��� � ����� �� ��� �모리� ��� ���� �� ���
+ ��ì²��� ì²�리í�� �� ���� ê²½ì��) ë§� ���¼ì�� �´ë�� ��ë²�ë¥�
+ �� ë§��� ���´í��ë©� �©ë����.</p>
+
+ <div class="example"><p><code>
+static www1|www1|www2|www3|www4
+ </code></p></div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="dbm" id="dbm">dbm: DBM �´ì�� ����</a> <a title="Permanent link" href="#dbm" class="permalink">¶</a></h2>
+
+
+ <p>MapType�� <code>dbm</code>�� 경� MapSource��
+ 매í���� �¬ì�©í�� ��/ê°� ���� �¬í�¨í���� DBM �°ì�´í�°ë��´ì��
+ ���¼ì�� ���� ���¤í�� ê²½ë�������. �´ê��� <code>txt</code>
+ 맵과 ������ ê°��� ë°©ì���¼ë� ������ì§�ë§�, DBM�� �¸ë�±ì�±ë����
+ ���� ë°�ë©� ���¤í�� ���¼ì�� ê·¸ë��ì§� ���¼ë��ë¡� �¨ì�� ë¹�ë¦�����.
+ �´ë�� �µí�� ������ �¤ì�� �� ë¹�르ê� ��ê·¼í�� �� ���µë����.</p>
+
+ <p>�������¼ë� �¹ì�� dbm ������ ì§����� �� ���µë����:</p>
+
+ <pre class="prettyprint lang-config">RewriteMap examplemap "dbm=sdbm:/etc/apache/mapfile.dbm"</pre>
+
+
+ <p>������ <code>sdbm</code>, <code>gdbm</code>,
+ <code>ndbm</code> ���� <code>db</code>�� �� ���µë����.
+ ê·¸ë�¬ë�� httpd ��ì²´ê� ë¹����� �� �¬ì�©ë�� ê²�ê³� �¼ì�����
+ �¬ë�ë¥� DBM �¼ì�´ë��¬ë¦¬ë¥� �¬ì�©í��ë¯�ë¡� Apache HTTP Server��
+ �¨ê� ��ê³µë���� <a href="../programs/httxt2dbm.html">httxt2dbm</a>
+ ���¸ë¦¬�°ë�� �¬ì�©í���� ê²��� ì¢��µë����.</p>
+
+ <p>dbm ���¼ì�� ���±í���¤ë©´ 먼ì�� <a href="#txt">txt</a>
+ �¹ì���� �¤ë��� ��ë¡� ���¤í�� ë§� ���¼ì�� ���±í�©ë����. ê·¸ë�� �¤ì��
+ <code>httxt2dbm</code>�� �¤í���©ë����:</p>
+
+<div class="example"><p><code>
+$ httxt2dbm -i mapfile.txt -o mapfile.map
+</code></p></div>
+
+<p>ê·¸ë�� �¤ì�� <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ì§����´ì���� ê²°ê³¼ ���¼ì�� 참조�� �� ���µë����:</p>
+
+<pre class="prettyprint lang-config">RewriteMap mapname "dbm:/etc/apache/mapfile.map"</pre>
+
+
+<div class="note">
+<p>�¼ë� dbm ���������� ê³µí�� 기본 �´ë��� ê°�ì§� �� �´ì����
+���¼ì�� ���±ë�©ë����. ��ë¥� �¤ì�� <code>mapfile.map.dir</code>ê³�
+<code>mapfile.map.pag</code>�¼ë�� �� ���¼ì�� ���� �� ���µë����.
+�´ê��� �����´ë©° <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ì§����´ì���� 기본 �´ë��� <code>mapfile.map</code>ë§� �¬ì�©í��ë©�
+�©ë����.</p>
+</div>
+
+<div class="note"><h3>����� 조�</h3>
+<p>
+ì¡°í���� �¤ë�� ë§� ���¼ì�� <code>mtime</code>(���� ��ê°�)��
+ë³�ê²½ë��ê±°ë�� httpd ��ë²�ê°� �¬ì������ ��ê¹�ì§� httpd�� ����
+ìº����©ë����. �´ë�� ë§��� ��ì²��� ���� �¸ì����� ë§µì��
+�±ë�¥ì�� �¥ì�����µë����.
+</p>
+</div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="prg" id="prg">prg: �¸ë� �¬ì���� ��ë¡�ê·¸ë��</a> <a title="Permanent link" href="#prg" class="permalink">¶</a></h2>
+
+ <p>MapType�� <code>prg</code>�� 경� MapSource��
+ 매í�� ������ ��ê³µí�� �¤í�� ê°��¥í�� ��ë¡�ê·¸ë�¨ì�� ���� ���¤í��
+ ê²½ë�������. �´ê��� ì»´í���¼ë�� ë°��´ë��ë¦� ���¼ì�´ê±°��
+ Python�´ë�� Perlê³� ê°��� �¸í�°í��리í�� �¸ì�´ì�� ��ë¡�ê·¸ë�¨ì�� ��
+ ���µë����.</p>
+
+ <p>�� ���그�� Apache HTTP Server� ������ �� �� �
+ �������, <code>STDIN</code>� <code>STDOUT</code>��
+ �µí�� �¬ì���� ��ì§�ê³� �µì���©ë����. ê°� ë§� �¨ì�� ì¡°í���� ����
+ �¤ê� ��ë¡�ê·¸ë�¨ì�� <code>STDIN</code>�� 기ë���ê³� ê·� �¤ì��
+ ì¤�ë°�ê¿� 문ì��ê°� �µë����. ��ë¡�ê·¸ë�¨ì�� <code>STDIN</code>����
+ �� ì¤��� �½ê�(ì¤�ë°�ê¿� �¬í��) ���µì��
+ <code>STDOUT</code>�� ì¤�ë°�ê¿��¼ë� ������ �� ì¤�ë¡�
+ ���±í�´ì�� �©ë����. �¤ì���� ì¤�ë°�ê¿� 문ì��ê°� �¬í�¨ë��ì§�
+ ���¼ë©°, ì¤�ë°�ê¿��� �¬í�¨ë�� �¤ê� ë°�견ë��ë©� ì¡°í��ê°�
+ �¤í�¨í�©ë����.</p>
+
+ <p>�������� ì¡°í�� ê°��� ���¼ë©´ ë§� ��ë¡�ê·¸ë�¨ì��
+ �� 문ì�� 문ì���� "<code>NULL</code>"�� ë°������� �´ë��
+ �����´ì�� �©ë����. �� ë¹�êµ��� ����문ì��ë¥� 구ë���ì§�
+ ���¼ë��ë¡� "null", "Null" �±ë�� �¤í�¨í�� ì¡°í��ë¡�
+ ì²�리ë�©ë����. ê²°ê³¼���¼ë� 매í�� ��ë¡�ê·¸ë�¨ì�� 매í���� ê°��¼ë�
+ 리í�°ë�� 문ì���� "NULL"�� ë°������� ê²��� ë¶�ê°��¥í�©ë����.</p>
+
+ <p>���그�� <code>STDERR</code>�� httpd ��
+ ��ë¡��¸ì�¤ì���� ������ë¯�ë¡� ��ë¡�ê·¸ë�¨ì�� <code>STDERR</code>��
+ �°ë�� 모ë�� ê²��� httpd�� ��ì²� �¤ë� ì¶��¥ê³¼ ê°��� ê³�(�¼ë����¼ë�
+ <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code>)��
+ 기ë��©ë����.</p>
+
+ <p>�¸ë� �¬ì���� ��ë¡�ê·¸ë�¨ì�� <code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code>��
+ <code>on</code>�¼ë� �¤ì����ì§� ���� 컨í���¤í�¸ì����
+ ������ ê²½ì�� ������ì§� ���µë����.</p>
+
+ <p>기본���¼ë� �¸ë� �¬ì���� ��ë¡�ê·¸ë�¨ì�� httpdë¥� ������
+ user:group�¼ë� �¤í���©ë����. �´ê��� UNIX ���¤í������
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>��
+ �� ë²�ì§� �¸ì��ë¡� <code>username:groupname</code> �����¼ë�
+ �¬ì�©ì�� �´ë�ê³� 그룹 �´ë��� ���¬í���� ë³�ê²½í�� �� ���µë����.</p>
+
+ <p>�� 기ë�¥ì�� ��ë¡�ê·¸ë�¨ê³¼�� �������� �µì���� ������
+ <code>rewrite-map</code> 뮤í���¤ë�� ���©í�©ë����.
+ 뮤í���� ë©�커ë��ì¦�ê³� ��ê¸� ���¼ì�� <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code> ì§����´ë� 구ì�±í�� ��
+ ���µë����.</p>
+
+ <p>�¬ê¸°�� ��ì²� URI���� 모ë�� ����ë¥� ë°�ì¤�ë¡� ��ì²´í����
+ ê°��¨í�� ����ê°� ���� ���µë����.</p>
+
+ <p><strong>�¬ì���� �¤ì��</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap d2u "prg:/www/bin/dash2under.py" apache:apache
+RewriteRule "-" "${d2u:%{REQUEST_URI}}"</pre>
+
+
+ <p><strong>dash2under.py</strong></p>
+ <pre class="prettyprint lang-python">#!/usr/bin/env python3
+import sys
+
+for line in sys.stdin:
+ print(line.strip().replace('-', '_'), flush=True)</pre>
+
+
+<div class="note"><h3>주�!</h3>
+<ul>
+<li>�¬ì���� ë§� ��ë¡�ê·¸ë�¨ì�� ê°��¥í�� �� ê°��¨í��ê²� ��ì§���������.
+��ë¡�ê·¸ë�¨ì�� ë©�ì¶�ë©� httpdê°� ë§µì�� ���µì�� 무í���� 기ë�¤ë¦¬ê²� ��ê³�,
+�´ë�� �¤ì�� httpdê°� ��ì²��� ���µí��ì§� 못í��ê²� �©ë����.</li>
+<li>��ë¡�ê·¸ë�¨ì���� ë²��¼ë��� ��������. ���� Python ����������
+<code>print()</code>�� <code>flush=True</code>ë¥� ���¬í����
+�´ë�� �����©ë����. ë²��¼ë��� I/O�� httpdê°� ì¶��¥ì�� 기ë�¤ë¦¬ê²�
+��ë¯�ë¡� ë©�ì¶�ê²� �©ë����.</li>
+<li>��� ���� �� �������� ���그�� 복�본�� �����������.
+모ë�� ��ì²��� �� ������ ë³�목ì�� �µê³¼�´ì�� �©ë����. ë§��� ��ì²���
+�� ��ë¡��¸ì�¤ë�� �µê³¼�´ì�� ��ê±°ë�� �¤í�¬ë¦½�� ��ì²´ê� 매ì�� ��ë¦�
+ê²½ì�� ���¹í�� ���� ����ë¥� ì´����� �� ���µë����.</li>
+<li>매í�� ��ë¡�ê·¸ë�¨ì�� ì¢�ë£���ë©� �����¼ë� �¤ì�� ������ì§� ���µë����.
+��ë²�ê°� �¬ì������ ��ê¹�ì§� ���� ì¡°í��ê°� �¤í�¨í�©ë����.</li>
+<li>매í�� ��ë¡�ê·¸ë�¨ì�� ê´��� �¤ì�� ì§����´ê� ë³�ê²½ë������ì§� �¬ë���
+ê´�ê³����� ��ë²� �¬ì����(graceful ���� 기í��) �� ���� ì¢�ë£���ê³�
+�¤ì�� �����©ë����. ì¢�ë£� �� ��ë¡�ê·¸ë�¨ì�� <code>SIGTERM</code>��
+���¡ë��ë©�, 3ì´� �´ë�´ì�� ì¢�ë£���ì§� ���¼ë©´
+<code>SIGKILL</code>�� ���¡ë�©ë����.</li>
+</ul>
+</div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="dbd" id="dbd">dbd ���� fastdbd: SQL 쿼리</a> <a title="Permanent link" href="#dbd" class="permalink">¶</a></h2>
+
+
+ <p>MapType�� <code>dbd</code> ���� <code>fastdbd</code>��
+ ê²½ì�� MapSource�� �¨ì�� �¸ì��ë¥� ë°��� �¨ì�� ê°��� ë°�������
+ SQL SELECT 문�����.</p>
+
+ <p>�� 문ì�� �¤í�����¤ë©´ �¬ë�ë¥� �°ì�´í�°ë��´ì�¤ë�� ê°�리í�¤ë��ë¡�
+ <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>ë¥� 구ì�±í�´ì�� �©ë����.</p>
+
+ <p>�� MapType���� �� ê°�ì§� ����ê°� ���µë����.
+ <code>dbd</code> MapType�� �¬ì�©í��ë©� ê°� ë§� ��ì²�ë§���
+ 쿼리ê°� �¤í����ê³�, <code>fastdbd</code>ë¥� �¬ì�©í��ë©�
+ �°ì�´í�°ë��´ì�� ì¡°í��ê°� �´ë����¼ë� ìº����©ë����. �°ë�¼ì��
+ <code>fastdbd</code>ê°� �� �¨ì�¨ì���´ê� ë¹�르ì�ë§�,
+ ��ë²�ê°� �¬ì������ ��ê¹�ì§� �°ì�´í�°ë��´ì�� ë³�ê²� �¬í����
+ ë°�����ì§� ���µë����.</p>
+
+ <p>쿼리ê°� �� �´ì���� ���� ë°�����ë©� ê²°ê³¼ �¸í�¸ì����
+ 무ì���� ���� �¬ì�©ë�©ë����.</p>
+
+ <div class="example"><h3>����</h3><pre class="prettyprint lang-config">RewriteMap myquery "fastdbd:SELECT destination FROM rewrite WHERE source = %s"</pre>
+</div>
+
+ <div class="note"><h3>ì°¸ê�</h3>
+ <p>쿼리 �´ë��� SQL ì¤�ë¹��� 문ì�� ���´ë�ë¡� �°ì�´í�°ë��´ì��
+ ���¼ì�´ë��� ���¬ë��ë¯�ë¡� �°ì�´í�°ë��´ì�¤ì�� ������ 모ë��
+ ê·�ì¹�(����문ì�� 구ë� ��)�� �°ë�¼ì�� �©ë����.</p></div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="summary" id="summary">����</a> <a title="Permanent link" href="#summary" class="permalink">¶</a></h2>
+
+
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> ì§����´ë��
+ �¬ë�� ë²� �¬ì�©í�� �� ���µë����. ê°� 매í�� �¨ì���� ���� ������
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> ì§����´ë��
+ �¬ì�©í���� �¬ì���� ë§� ���¼ì�� ���¸í�©ë����.</p>
+
+ <p>������리ë� 컨í���¤í��(<code>.htaccess</code> ���¼ì�´ë��
+ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+ ��)������ 맵� <strong>����</strong>�� �� ����
+ ������리ë� 컨í���¤í�¸ì���� �� ë§µì�� <strong>�¬ì��</strong>����
+ ê²��� ê°��¥í�©ë����.</p>
+
+ </div></div>
+<div class="bottomlang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/rewritemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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>RewriteMap Kullanımı - 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" type="text/javascript">
+</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></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="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.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>RewriteMap Kullanımı</h1>
+<div class="toplang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/rewritemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</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="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> yönergesinin
+kullanımını açıklar ve çeşitli <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> türlerinin her birine örnekler sunar.</p>
+
+ <div class="warning">Bu örneklerin birçoğunun sizin sunucu
+yapılandırmanızda değişiklik yapılmadan çalışmayacağını unutmayın; bu
+nedenle örnekleri yapılandırmanıza kopyalayıp yapıştırmak yerine
+anlamanız önemlidir.</div>
+
+ </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="#int">int: Dahili İşlev</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#txt">txt: Düz Metin Eşlemleri</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rnd">rnd: Rastgeleleştirilmiş Düz Metin</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dbm">dbm: DBM Adresleme Dosyası</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#prg">prg: Harici Yeniden Yazma Programı</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dbd">dbd veya fastdbd: SQL Sorgusu</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#summary">Özet</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="intro.html">mod_rewrite'a giriş</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="advanced.html">İleri teknikler</a></li><li><a href="avoid.html">mod_rewrite kullanılmaması gereken durumlar</a></li><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="introduction" id="introduction">Giriş</a> <a title="Permanent link" href="#introduction" class="permalink">¶</a></h2>
+
+
+ <p>
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> yönergesi,
+ düzenli ifadelerle gerçekleştirilmesi çok karmaşık veya çok özel
+ olan yeniden yazma işlemlerini yapmak üzere
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> veya
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> yönergeleri
+ bağlamında çağrılabilecek harici bir işlev tanımlar. Bu aramanın
+ kaynağı, aşağıdaki bölümlerde listelenen türlerden herhangi biri
+ olabilir ve <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ başvuru belgelerinde numaralandırılmıştır.</p>
+
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ yönergesinin sözdizimi şöyledir:</p>
+
+<pre class="prettyprint lang-config">RewriteMap <em>EşlemAdı</em> <em>EşlemTürü</em>:<em>EşlemKaynağı</em>
+</pre>
+
+
+ <p><a id="mapfunc" name="mapfunc"><em>EşlemAdı</em></a>, eşleme
+ için atadığınız keyfi bir addır ve daha sonra yönergelerde
+ kullanacaksınız. Argümanlar eşlemeye aşağıdaki sözdizimi ile
+ iletilir:</p>
+
+ <p class="indent">
+ <strong>
+ <code>${</code> <em>EşlemAdı</em> <code>:</code> <em>AramaAnahtarı</em>
+ <code>}</code> <br /> <code>${</code> <em>EşlemAdı</em> <code>:</code>
+ <em>AramaAnahtarı</em> <code>|</code> <em>ÖntanımlıDeğer</em> <code>}</code>
+ </strong>
+ </p>
+
+ <p>Böyle bir yapı oluştuğunda, <em>EşlemAdı</em> eşlemine
+ başvurulur ve <em>AramaAnahtarı</em> aranır. Anahtar bulunursa
+ eşlem-işlev yapısı <em>DeğiştirmeDeğeri</em> ile değiştirilir.
+ Anahtar bulunamazsa <em>ÖntanımlıDeğer</em> ile veya hiçbir
+ <em>ÖntanımlıDeğer</em> belirtilmemişse boş dizgeyle
+ değiştirilir.</p>
+
+ <p>Örneğin, bir
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> şöyle
+ tanımlayabilirsiniz:</p>
+ <pre class="prettyprint lang-config">RewriteMap examplemap "txt:/path/to/file/map.txt"</pre>
+
+ <p>Daha sonra bu eşlemi bir
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ içinde şöyle kullanabilirsiniz:</p>
+ <pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1}"</pre>
+
+
+<p>Eşlemde hiçbir şey bulunamazsa öntanımlı bir değer
+belirtilebilir:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1|/not_found.html}"</pre>
+
+
+<div class="note"><h3>Dizin başına ve .htaccess bağlamı</h3>
+<p>
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> yönergesi
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+bölümlerinde veya <code>.htaccess</code> dosyalarında kullanılamaz.
+Eşlemi sunucu veya sanal konak bağlamında bildirmelisiniz. Eşlemi
+oluşturduktan sonra, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ve <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> yönergelerinizde bu
+kapsamlarda kullanabilirsiniz. Ancak bu kapsamlarda
+<strong>bildirme</strong> yapamazsınız.</p>
+</div>
+
+<p>Aşağıdaki bölümler kullanılabilecek çeşitli <em>EşlemTürü</em>
+değerlerini açıklar ve her birine örnekler verir.</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="int" id="int">int: Dahili İşlev</a> <a title="Permanent link" href="#int" class="permalink">¶</a></h2>
+
+
+ <p><code>int</code> EşlemTürü kullanıldığında, EşlemKaynağı
+ kullanılabilir dahili <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> işlevlerinden biridir.
+ Modül yazarları, <code>ap_register_rewrite_mapfunc</code> API'sini
+ kullanarak ek dahili işlevler sağlayabilir. Öntanımlı olarak
+ sağlanan işlevler şunlardır:
+ </p>
+
+ <ul>
+ <li><strong>toupper</strong>:<br />
+ Anahtarı tamamen büyük harfe dönüştürür.</li>
+ <li><strong>tolower</strong>:<br />
+ Anahtarı tamamen küçük harfe dönüştürür.</li>
+ <li><strong>escape</strong>:<br />
+ Anahtardaki özel karakterleri onaltılık kodlamaya
+ çevirir.</li>
+ <li><strong>unescape</strong>:<br />
+ Anahtardaki onaltılık kodlamaları özel karakterlere geri
+ çevirir.</li>
+ </ul>
+
+ <p>
+ Bu işlevlerden birini kullanmak için, int işlevine başvuran bir
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> oluşturun
+ ve ardından bunu <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergenizde
+ kullanın:
+ </p>
+
+ <p><strong>Bir URI'yi tamamen küçük harfli sürümüne
+ yönlendir</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap lc int:tolower
+RewriteRule "(.*)" "${lc:$1}" [R]</pre>
+
+
+ <div class="note">
+ <p>Burada sunulan örneğin yalnızca açıklama amaçlı olduğunu ve
+ bir öneri olmadığını lütfen unutmayın. URL'leri büyük/küçük harf
+ duyarsız yapmak istiyorsanız, bunun yerine
+ <code class="module"><a href="../mod/mod_speling.html">mod_speling</a></code> kullanmayı düşünün.
+ </p>
+ </div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="txt" id="txt">txt: Düz Metin Eşlemleri</a> <a title="Permanent link" href="#txt" class="permalink">¶</a></h2>
+
+
+ <p><code>txt</code> EşlemTürü kullanıldığında, EşlemKaynağı satır
+ başına bir boşlukla ayrılmış anahtar/değer çifti içeren düz metin
+ eşlem dosyasının bir dosya sistemi yoludur. İsteğe bağlı olarak,
+ bir satır '#' karakteriyle başlayan bir açıklama içerebilir.</p>
+
+ <p>Geçerli bir metin yeniden yazma eşlem dosyası aşağıdaki
+ sözdizimine sahip olacaktır:</p>
+
+ <div class="example"><p><code>
+ # Açıklama satırı<br />
+ <strong><em>EşleşenAnahtar</em> <em>DeğiştirmeDeğeri</em></strong><br />
+ <strong><em>EşleşenAnahtar</em> <em>DeğiştirmeDeğeri</em></strong> # açıklama<br />
+ </code></p></div>
+
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ çağrıldığında, argüman bir satırın ilk argümanında aranır ve
+ bulunursa değiştirme değeri döndürülür.</p>
+
+ <p>Örneğin, daha kolay hatırlanan URL'ler için ürün adlarını
+ ürün kimliklerine çevirmek üzere aşağıdaki tarifi kullanarak bir
+ eşlem dosyası kullanabiliriz:</p>
+<p><strong>Ürün-kimlik yapılandırması</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap product2id "txt:/etc/apache2/productmap.txt"
+RewriteRule "^/product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]</pre>
+
+
+ <p>Burada <code>prods.php</code> betiğinin, bir ürün arama
+ eşleminde bulunmadığında <code>id=NOTFOUND</code> argümanını
+ aldığında ne yapacağını bildiğini varsayıyoruz.</p>
+
+ <p><code>/etc/apache2/productmap.txt</code> dosyası daha sonra
+ şunları içerir:</p>
+
+ <div class="example"><h3>Ürün-kimlik eşlem dosyası</h3><p><code>
+##<br />
+## productmap.txt - Ürün-Kimlik eşlem dosyası<br />
+##<br />
+<br />
+television 993<br />
+stereo 198<br />
+fishingrod 043<br />
+basketball 418<br />
+telephone 328
+ </code></p></div>
+
+ <p>Böylece, <code>http://example.com/product/television</code>
+ istendiğinde, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ uygulanır ve istek dahili olarak
+ <code>/prods.php?id=993</code> ile eşlenir.</p>
+
+ <div class="note"><h3>Not: .htaccess dosyaları</h3>
+ Verilen örnek sunucu veya sanal konak kapsamında kullanılmak üzere
+ hazırlanmıştır. Bunu bir <code>.htaccess</code> dosyasında
+ kullanmayı planlıyorsanız, herhangi bir şeyle eşleşebilmesi için
+ yeniden yazma kalıbından baştaki eğik çizgiyi kaldırmanız
+ gerekecektir:
+ <pre class="prettyprint lang-config">RewriteRule "^product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]</pre>
+
+ </div>
+
+ <div class="note"><h3>Önbelleğe alınmış aramalar</h3>
+ <p>
+ Aranan anahtarlar, eşlem dosyasının <code>mtime</code>
+ (değiştirme zamanı) değişene veya httpd sunucusu yeniden
+ başlatılana kadar httpd tarafından önbelleğe alınır. Bu, birçok
+ istek tarafından çağrılan eşlemler için daha iyi performans
+ sağlar.
+ </p>
+ </div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rnd" id="rnd">rnd: Rastgeleleştirilmiş Düz Metin</a> <a title="Permanent link" href="#rnd" class="permalink">¶</a></h2>
+
+
+ <p><code>rnd</code> EşlemTürü kullanıldığında, EşlemKaynağı her
+ satırı bir anahtar ve <code>|</code> ile ayrılmış bir veya daha
+ fazla değer içeren düz metin eşlem dosyasının bir dosya sistemi
+ yoludur. Anahtar eşleşirse bu değerlerden biri rastgele
+ seçilir.</p>
+
+ <p>Örneğin, ters vekil aracılığıyla birkaç arka uç sunucu
+ arasında rastgele yük dengeleme sağlamak için aşağıdaki eşlem
+ dosyasını ve yönergeleri kullanabilirsiniz. Resimler 'static'
+ havuzundaki sunuculardan birine gönderilirken, diğer her şey
+ 'dynamic' havuzuna gönderilir.</p>
+
+ <div class="example"><h3>Yeniden yazma eşlem dosyası</h3><p><code>
+##<br />
+## map.txt -- yeniden yazma eşlem dosyası<br />
+##<br />
+<br />
+static www1|www2|www3|www4<br />
+dynamic www5|www6
+ </code></p></div>
+<p><strong>Yapılandırma yönergeleri</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap servers "rnd:/path/to/file/map.txt"
+
+RewriteRule "^/(.*\.(png|gif|jpg))" "http://${servers:static}/$1" [NC,P,L]
+RewriteRule "^/(.*)" "http://${servers:dynamic}/$1" [P,L]</pre>
+
+
+ <p>Böylece, bir resim istendiğinde ve bu kurallardan ilki
+ eşleştiğinde, <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ eşlem dosyasında <code>static</code> dizgesini arar ve belirtilen
+ konak adlarından birini rastgele döndürür; bu daha sonra
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> hedefinde
+ kullanılır.</p>
+
+ <p>Sunuculardan birinin daha sık seçilmesini istiyorsanız (örneğin,
+ sunuculardan birinin daha fazla belleği varsa ve daha fazla isteği
+ işleyebiliyorsa), onu eşlem dosyasında daha fazla kez listeleyin.</p>
+
+ <div class="example"><p><code>
+static www1|www1|www2|www3|www4
+ </code></p></div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="dbm" id="dbm">dbm: DBM Adresleme Dosyası</a> <a title="Permanent link" href="#dbm" class="permalink">¶</a></h2>
+
+
+ <p><code>dbm</code> EşlemTürü kullanıldığında, EşlemKaynağı
+ eşlemede kullanılacak anahtar/değer çiftleri içeren bir DBM
+ veritabanı dosyasının dosya sistemi yoludur. Bu, <code>txt</code>
+ eşlemiyle tamamen aynı şekilde çalışır, ancak DBM dizinlendiğinden
+ ve metin dosyası dizinlenmediğinden çok daha hızlıdır. Bu, istenen
+ anahtara daha hızlı erişim sağlar.</p>
+
+ <p>İsteğe bağlı olarak belirli bir dbm türü belirtebilirsiniz:</p>
+
+ <pre class="prettyprint lang-config">RewriteMap examplemap "dbm=sdbm:/etc/apache/mapfile.dbm"</pre>
+
+
+ <p>Tür <code>sdbm</code>, <code>gdbm</code>, <code>ndbm</code>
+ veya <code>db</code> olabilir. Ancak, Apache HTTP Sunucusu ile
+ sağlanan <a href="../programs/httxt2dbm.html">httxt2dbm</a>
+ aracını kullanmanız önerilir; çünkü httpd'nin kendisi
+ oluşturulurken kullanılan doğru DBM kitaplığını kullanacaktır.</p>
+
+ <p>Bir dbm dosyası oluşturmak için önce <a href="#txt">txt</a>
+ bölümünde açıklandığı gibi bir metin eşlem dosyası oluşturun.
+ Ardından <code>httxt2dbm</code>'yi çalıştırın:</p>
+
+<div class="example"><p><code>
+$ httxt2dbm -i mapfile.txt -o mapfile.map
+</code></p></div>
+
+<p>Daha sonra ortaya çıkan dosyaya <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> yönergenizde
+başvurabilirsiniz:</p>
+
+<pre class="prettyprint lang-config">RewriteMap mapname "dbm:/etc/apache/mapfile.map"</pre>
+
+
+<div class="note">
+<p>Bazı dbm türleriyle, ortak bir temel adla birden fazla dosya
+oluşturulduğunu unutmayın. Örneğin, <code>mapfile.map.dir</code>
+ve <code>mapfile.map.pag</code> adlı iki dosyanız olabilir. Bu
+normaldir ve <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+yönergenizde yalnızca <code>mapfile.map</code> temel adını
+kullanmanız yeterlidir.</p>
+</div>
+
+<div class="note"><h3>Önbelleğe alınmış aramalar</h3>
+<p>
+Aranan anahtarlar, eşlem dosyasının <code>mtime</code>
+(değiştirme zamanı) değişene veya httpd sunucusu yeniden
+başlatılana kadar httpd tarafından önbelleğe alınır. Bu, birçok
+istek tarafından çağrılan eşlemler için daha iyi performans
+sağlar.
+</p>
+</div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="prg" id="prg">prg: Harici Yeniden Yazma Programı</a> <a title="Permanent link" href="#prg" class="permalink">¶</a></h2>
+
+ <p><code>prg</code> EşlemTürü kullanıldığında, EşlemKaynağı
+ eşleme davranışını sağlayacak çalıştırılabilir bir programın
+ dosya sistemi yoludur. Bu, derlenmiş bir ikili dosya veya Python
+ ya da Perl gibi yorumlanan bir dilde yazılmış bir program
+ olabilir.</p>
+
+ <p>Bu program, Apache HTTP Sunucusu başlatıldığında bir kez
+ başlatılır ve ardından yeniden yazma motoruyla
+ <code>STDIN</code> ve <code>STDOUT</code> aracılığıyla
+ iletişim kurar. Her eşlem işlevi aramasında, anahtar programın
+ <code>STDIN</code>'ine yazılır ve ardından bir satırsonu karakteri
+ gelir. Program, <code>STDIN</code>'den bir satır okumalı (satırsonu
+ dahil) ve yanıtını <code>STDOUT</code>'a tek bir satırsonu ile
+ sonlandırılmış satır olarak yazmalıdır. Anahtarlar hiçbir zaman
+ satırsonu karakteri içermez; satırsonu içeren bir anahtarla
+ karşılaşılırsa arama başarısız olur.</p>
+
+ <p>Karşılık gelen bir arama değeri yoksa, eşlem programı bunu
+ belirtmek için dört karakterlik "<code>NULL</code>" dizgesini
+ döndürmelidir. Bu karşılaştırmanın büyük/küçük harf duyarsız
+ olduğunu unutmayın; "null", "Null" vb. de başarısız arama olarak
+ değerlendirilir. Sonuç olarak, bir eşleme programının eşlenen
+ değer olarak "NULL" birebir dizgesini döndürmesi mümkün
+ değildir.</p>
+
+ <p>Programın <code>STDERR</code>'si httpd üst sürecinden
+ miras alınır; bu nedenle programın <code>STDERR</code>'ye
+ yazdığı her şey httpd'nin kendi hata çıktısıyla (genellikle
+ <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code>) aynı yere
+ gider.</p>
+
+ <p>Harici yeniden yazma programları, <code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code> <code>on</code>
+ olarak ayarlanmamış bir bağlamda tanımlanmışlarsa
+ başlatılmaz.</p>
+
+ <p>Öntanımlı olarak, harici yeniden yazma programları httpd'yi
+ başlatan kullanıcı:grup olarak çalıştırılır. Bu, UNIX
+ sistemlerinde <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ yönergesine üçüncü argüman olarak
+ <code>kullanıcıadı:grupadı</code> biçiminde kullanıcı adı ve
+ grup adı geçirilerek değiştirilebilir.</p>
+
+ <p>Bu özellik, programla güvenilir iletişim için gerekli olan
+ <code>rewrite-map</code> mutex'ini kullanır. Mutex mekanizması
+ ve kilit dosyası <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>
+ yönergesiyle yapılandırılabilir.</p>
+
+ <p>Burada, bir istek URI'sindeki tüm tireleri alt çizgilerle
+ değiştirecek basit bir örnek gösterilmektedir.</p>
+
+ <p><strong>Yeniden yazma yapılandırması</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap d2u "prg:/www/bin/dash2under.py" apache:apache
+RewriteRule "-" "${d2u:%{REQUEST_URI}}"</pre>
+
+
+ <p><strong>dash2under.py</strong></p>
+ <pre class="prettyprint lang-python">#!/usr/bin/env python3
+import sys
+
+for line in sys.stdin:
+ print(line.strip().replace('-', '_'), flush=True)</pre>
+
+
+<div class="note"><h3>Dikkat!</h3>
+<ul>
+<li>Yeniden yazma eşlem programınızı olabildiğince basit tutun.
+Program askıda kalırsa, httpd'nin eşlemden yanıt beklerken süresiz
+olarak beklemesine neden olur ve bu da httpd'nin isteklere yanıt
+vermesini durduracaktır.</li>
+<li>Programınızda arabelleğe almayı kapattığınızdan emin olun.
+Yukarıdaki Python örneğinde bu, <code>print()</code> işlevine
+<code>flush=True</code> geçirilerek yapılır. Arabelleğe alınmış G/Ç,
+httpd'nin çıktıyı beklemesine neden olur ve askıda kalmasına
+yol açar.</li>
+<li>Sunucu başlangıcında başlatılan programın yalnızca bir kopyası
+olduğunu unutmayın. Tüm isteklerin bu tek darboğazdan geçmesi
+gerekecektir. Birçok istek bu süreçten geçmek zorundaysa veya
+betiğin kendisi çok yavaşsa bu önemli yavaşlamalara neden
+olabilir.</li>
+<li>Eşleme programı sonlanırsa otomatik olarak yeniden
+başlatılmaz. Sonraki aramalar, sunucu yeniden başlatılana kadar
+başarısız olur.</li>
+<li>Eşleme programı, ilgili yapılandırma yönergelerinin değişip
+değişmediğine bakılmaksızın herhangi bir sunucu yeniden
+başlatmasında (zarif veya başka türlü) her zaman sonlandırılır
+ve yeniden başlatılır. Kapatmada programa <code>SIGTERM</code>
+gönderilir; 3 saniye içinde çıkmazsa <code>SIGKILL</code>
+gönderilir.</li>
+</ul>
+</div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="dbd" id="dbd">dbd veya fastdbd: SQL Sorgusu</a> <a title="Permanent link" href="#dbd" class="permalink">¶</a></h2>
+
+
+ <p><code>dbd</code> veya <code>fastdbd</code> EşlemTürü
+ kullanıldığında, EşlemKaynağı tek bir argüman alan ve tek bir
+ değer döndüren bir SQL SELECT deyimidir.</p>
+
+ <p>Bu deyimin yürütülmesi için <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> modülünün
+ doğru veritabanına işaret edecek şekilde yapılandırılması
+ gerekir.</p>
+
+ <p>Bu EşlemTürünün iki biçimi vardır. <code>dbd</code> EşlemTürü
+ kullanmak, sorgunun her eşlem isteğinde yürütülmesine neden
+ olurken, <code>fastdbd</code> kullanmak veritabanı aramalarını
+ dahili olarak önbelleğe alır. Böylece <code>fastdbd</code> daha
+ verimli ve dolayısıyla daha hızlı olsa da, sunucu yeniden
+ başlatılana kadar veritabanındaki değişiklikleri almaz.</p>
+
+ <p>Bir sorgu birden fazla satır döndürürse, sonuç kümesinden
+ rastgele bir satır kullanılır.</p>
+
+ <div class="example"><h3>Örnek</h3><pre class="prettyprint lang-config">RewriteMap myquery "fastdbd:SELECT destination FROM rewrite WHERE source = %s"</pre>
+</div>
+
+ <div class="note"><h3>Not</h3>
+ <p>Sorgu adı veritabanı sürücüsüne bir SQL hazır deyimi için
+ etiket olarak iletilir ve bu nedenle veritabanınız için gereken
+ tüm kuralları (büyük/küçük harf duyarlılığı gibi) izlemelidir.</p>
+ </div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="summary" id="summary">Özet</a> <a title="Permanent link" href="#summary" class="permalink">¶</a></h2>
+
+
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> yönergesi
+ birden fazla kez kullanılabilir. Her eşleme-işlevi için yeniden
+ yazma eşlem dosyasını bildirmek üzere bir
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> yönergesi
+ kullanın.</p>
+
+ <p>Dizin başına bağlamda (<code>.htaccess</code> dosyaları veya
+ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+ blokları) bir eşlem <strong>bildirmeniz</strong> mümkün olmasa da,
+ bu eşlemi dizin başına bağlamda <strong>kullanmanız</strong>
+ mümkündür.</p>
+
+ </div></div>
+<div class="bottomlang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/rewritemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.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="http://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></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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="zh-cn" xml:lang="zh-cn"><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>使用 RewriteMap - Apache HTTP 服务器 版本 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP 服务器版本 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP 服务器</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../">版本 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>使用 RewriteMap</h1>
+<div class="toplang">
+<p><span>可用语言: </span><a href="../de/rewrite/rewritemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.html" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+ <p>本文档是 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">参考文档</a>的补充。它描述了
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> 指令的使用方法,
+并提供了各种 <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+类型的示例。</p>
+
+ <div class="warning">请注意,这些示例中的许多在你的特定服务器配置中
+不会原封不动地工作,因此理解它们非常重要,
+而不是仅仅将示例复制粘贴到你的配置中。</div>
+
+ </div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">介绍</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#int">int:内部函数</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#txt">txt:纯文本映射</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rnd">rnd:随机纯文本</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dbm">dbm:DBM 哈希文件</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#prg">prg:外部重写程序</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dbd">dbd 或 fastdbd:SQL 查询</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#summary">总结</a></li>
+</ul><h3>参见</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">模块文档</a></li><li><a href="intro.html">mod_rewrite 简介</a></li><li><a href="remapping.html">重定向和重映射</a></li><li><a href="access.html">访问控制</a></li><li><a href="vhosts.html">虚拟主机</a></li><li><a href="proxy.html">代理</a></li><li><a href="advanced.html">高级技术</a></li><li><a href="avoid.html">何时不使用 mod_rewrite</a></li><li><a href="#comments_section">评论</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="introduction" id="introduction">介绍</a> <a title="Permanent link" href="#introduction" class="permalink">¶</a></h2>
+
+
+ <p>
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> 指令定义了一个外部函数,
+ 可以在 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 或
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+ 指令的上下文中调用,以执行过于复杂或过于专业化而无法仅通过正则表达式完成的重写。
+ 此查找的来源可以是下面各节中列出的任何类型,
+ 并在 <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ 参考文档中有详细说明。</p>
+
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ 指令的语法如下:</p>
+
+<pre class="prettyprint lang-config">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
+</pre>
+
+
+ <p><a id="mapfunc" name="mapfunc"><em>MapName</em></a>
+ 是你分配给映射的任意名称,稍后将在指令中使用。
+ 通过以下语法将参数传递给映射:</p>
+
+ <p class="indent">
+ <strong>
+ <code>${</code> <em>MapName</em> <code>:</code> <em>LookupKey</em>
+ <code>}</code> <br /> <code>${</code> <em>MapName</em> <code>:</code>
+ <em>LookupKey</em> <code>|</code> <em>DefaultValue</em> <code>}</code>
+ </strong>
+ </p>
+
+ <p>当出现这样的结构时,将查询映射 <em>MapName</em>
+ 并查找键 <em>LookupKey</em>。如果找到该键,
+ 映射函数结构将被替换为 <em>SubstValue</em>。
+ 如果未找到该键,则替换为 <em>DefaultValue</em>,
+ 如果未指定 <em>DefaultValue</em> 则替换为空字符串。</p>
+
+ <p>例如,你可以定义一个
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> 如下:</p>
+ <pre class="prettyprint lang-config">RewriteMap examplemap "txt:/path/to/file/map.txt"</pre>
+
+ <p>然后你可以在
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 中如下使用此映射:</p>
+ <pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1}"</pre>
+
+
+<p>在映射中未找到任何内容时,可以指定默认值:</p>
+
+<pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${examplemap:$1|/not_found.html}"</pre>
+
+
+<div class="note"><h3>目录级和 .htaccess 上下文</h3>
+<p>
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> 指令不能在
+<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> 配置段或
+<code>.htaccess</code> 文件中使用。你必须在服务器或虚拟主机上下文中声明映射。
+创建映射后,你可以在这些范围内的
+<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 和
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+指令中<strong>使用</strong>它。只是不能在这些范围内<strong>声明</strong>它。</p>
+</div>
+
+<p>以下各节描述了可以使用的各种 <em>MapType</em>,并给出了每种类型的示例。</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="int" id="int">int:内部函数</a> <a title="Permanent link" href="#int" class="permalink">¶</a></h2>
+
+
+ <p>当 MapType 为 <code>int</code> 时,MapSource 是可用的
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ 内部函数之一。模块作者可以通过使用
+ <code>ap_register_rewrite_mapfunc</code> API 注册来提供额外的内部函数。
+ 默认提供的函数有:
+ </p>
+
+ <ul>
+ <li><strong>toupper</strong>:<br />
+ 将键转换为全大写。</li>
+ <li><strong>tolower</strong>:<br />
+ 将键转换为全小写。</li>
+ <li><strong>escape</strong>:<br />
+ 将键中的特殊字符转换为十六进制编码。</li>
+ <li><strong>unescape</strong>:<br />
+ 将键中的十六进制编码转换回特殊字符。</li>
+ </ul>
+
+ <p>
+ 要使用这些函数之一,创建一个引用 int 函数的
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>,
+ 然后在你的
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 中使用它:
+ </p>
+
+ <p><strong>将 URI 重定向到其全小写版本</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap lc int:tolower
+RewriteRule "(.*)" "${lc:$1}" [R]</pre>
+
+
+ <div class="note">
+ <p>请注意,此处提供的示例仅用于说明目的,并非建议。
+ 如果你想使 URL 不区分大小写,请考虑使用
+ <code class="module"><a href="../mod/mod_speling.html">mod_speling</a></code> 代替。
+ </p>
+ </div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="txt" id="txt">txt:纯文本映射</a> <a title="Permanent link" href="#txt" class="permalink">¶</a></h2>
+
+
+ <p>当 MapType 为 <code>txt</code> 时,MapSource 是一个纯文本映射文件的
+ 文件系统路径,每行包含一个以空格分隔的键/值对。
+ 可选地,一行可以包含以 '#' 字符开头的注释。</p>
+
+ <p>有效的文本重写映射文件将具有以下语法:</p>
+
+ <div class="example"><p><code>
+ # 注释行<br />
+ <strong><em>MatchingKey</em> <em>SubstValue</em></strong><br />
+ <strong><em>MatchingKey</em> <em>SubstValue</em></strong> # 注释<br />
+ </code></p></div>
+
+ <p>当调用 <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> 时,
+ 在行的第一个参数中查找该参数,如果找到,则返回替换值。</p>
+
+ <p>例如,我们可以使用映射文件将产品名称转换为产品 ID,
+ 以获得更易记的 URL,使用以下配方:</p>
+<p><strong>产品到 ID 的配置</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap product2id "txt:/etc/apache2/productmap.txt"
+RewriteRule "^/product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]</pre>
+
+
+ <p>我们假设 <code>prods.php</code> 脚本知道在收到
+ <code>id=NOTFOUND</code> 参数时如何处理——当在查找映射中找不到产品时。</p>
+
+ <p>文件 <code>/etc/apache2/productmap.txt</code> 包含以下内容:</p>
+
+ <div class="example"><h3>产品到 ID 的映射</h3><p><code>
+##<br />
+## productmap.txt - 产品到 ID 的映射文件<br />
+##<br />
+<br />
+television 993<br />
+stereo 198<br />
+fishingrod 043<br />
+basketball 418<br />
+telephone 328
+ </code></p></div>
+
+ <p>因此,当请求 <code>http://example.com/product/television</code> 时,
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 被应用,
+ 请求在内部被映射到 <code>/prods.php?id=993</code>。</p>
+
+ <div class="note"><h3>注意:.htaccess 文件</h3>
+ 此处给出的示例是为在服务器或虚拟主机范围内使用而设计的。
+ 如果你计划在 <code>.htaccess</code> 文件中使用,
+ 则需要从重写模式中删除前导斜杠才能匹配任何内容:
+ <pre class="prettyprint lang-config">RewriteRule "^product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]</pre>
+
+ </div>
+
+ <div class="note"><h3>缓存查找</h3>
+ <p>
+ 查找的键会被 httpd 缓存,直到映射文件的 <code>mtime</code>
+ (修改时间)发生变化或 httpd 服务器重启。
+ 这确保了被许多请求调用的映射有更好的性能。
+ </p>
+ </div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="rnd" id="rnd">rnd:随机纯文本</a> <a title="Permanent link" href="#rnd" class="permalink">¶</a></h2>
+
+
+ <p>当 MapType 为 <code>rnd</code> 时,MapSource 是一个纯文本映射文件的
+ 文件系统路径,每行包含一个键和一个或多个由 <code>|</code>
+ 分隔的值。如果键匹配,将随机选择其中一个值。</p>
+
+ <p>例如,你可以使用以下映射文件和指令通过反向代理在多个后端服务器之间
+ 提供随机负载均衡。图像被发送到 'static' 池中的某个服务器,
+ 而其他所有内容被发送到 'dynamic' 池中的某个服务器。</p>
+
+ <div class="example"><h3>重写映射文件</h3><p><code>
+##<br />
+## map.txt -- 重写映射<br />
+##<br />
+<br />
+static www1|www2|www3|www4<br />
+dynamic www5|www6
+ </code></p></div>
+<p><strong>配置指令</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap servers "rnd:/path/to/file/map.txt"
+
+RewriteRule "^/(.*\.(png|gif|jpg))" "http://${servers:static}/$1" [NC,P,L]
+RewriteRule "^/(.*)" "http://${servers:dynamic}/$1" [P,L]</pre>
+
+
+ <p>因此,当请求图像并且第一条规则匹配时,
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ 在映射文件中查找字符串 <code>static</code>,
+ 随机返回指定主机名之一,然后将其用于
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 目标。</p>
+
+ <p>如果你想让某个服务器更有可能被选中(例如,
+ 如果某个服务器比其他服务器有更多内存,因此可以处理更多请求),
+ 只需在映射文件中多次列出它即可。</p>
+
+ <div class="example"><p><code>
+static www1|www1|www2|www3|www4
+ </code></p></div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="dbm" id="dbm">dbm:DBM 哈希文件</a> <a title="Permanent link" href="#dbm" class="permalink">¶</a></h2>
+
+
+ <p>当 MapType 为 <code>dbm</code> 时,MapSource 是一个 DBM
+ 数据库文件的文件系统路径,其中包含用于映射的键/值对。
+ 其工作方式与 <code>txt</code> 映射完全相同,但速度更快,
+ 因为 DBM 是有索引的,而文本文件没有索引。
+ 这允许更快地访问所需的键。</p>
+
+ <p>你可以选择指定特定的 dbm 类型:</p>
+
+ <pre class="prettyprint lang-config">RewriteMap examplemap "dbm=sdbm:/etc/apache/mapfile.dbm"</pre>
+
+
+ <p>类型可以是 <code>sdbm</code>、<code>gdbm</code>、<code>ndbm</code>
+ 或 <code>db</code>。但建议你使用 Apache HTTP Server 提供的
+ <a href="../programs/httxt2dbm.html">httxt2dbm</a> 工具,
+ 因为它会使用正确的 DBM 库,与构建 httpd 本身时使用的库相匹配。</p>
+
+ <p>要创建 dbm 文件,首先按照 <a href="#txt">txt</a>
+ 节中的描述创建文本映射文件。然后运行
+ <code>httxt2dbm</code>:</p>
+
+<div class="example"><p><code>
+$ httxt2dbm -i mapfile.txt -o mapfile.map
+</code></p></div>
+
+<p>然后你可以在
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+指令中引用生成的文件:</p>
+
+<pre class="prettyprint lang-config">RewriteMap mapname "dbm:/etc/apache/mapfile.map"</pre>
+
+
+<div class="note">
+<p>请注意,对于某些 dbm 类型,会生成多个文件,它们具有共同的基本名称。
+例如,你可能有两个名为 <code>mapfile.map.dir</code> 和
+<code>mapfile.map.pag</code> 的文件。这是正常的,你只需在
+<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+指令中使用基本名称 <code>mapfile.map</code> 即可。</p>
+</div>
+
+<div class="note"><h3>缓存查找</h3>
+<p>
+查找的键会被 httpd 缓存,直到映射文件的 <code>mtime</code>
+(修改时间)发生变化或 httpd 服务器重启。
+这确保了被许多请求调用的映射有更好的性能。
+</p>
+</div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="prg" id="prg">prg:外部重写程序</a> <a title="Permanent link" href="#prg" class="permalink">¶</a></h2>
+
+ <p>当 MapType 为 <code>prg</code> 时,MapSource 是一个可执行程序的
+ 文件系统路径,该程序将提供映射行为。这可以是编译的二进制文件,
+ 也可以是 Python 或 Perl 等解释型语言的程序。</p>
+
+ <p>此程序在 Apache HTTP Server 启动时启动一次,
+ 然后通过 <code>STDIN</code> 和 <code>STDOUT</code>
+ 与重写引擎通信。对于每次映射函数查找,
+ 键被写入程序的 <code>STDIN</code>,后跟换行符。
+ 程序应从 <code>STDIN</code> 读取一行(直到并包括换行符),
+ 并在 <code>STDOUT</code> 上写入其响应作为单个以换行符终止的行。
+ 键永远不会包含换行符;如果遇到包含换行符的键,查找将失败。</p>
+
+ <p>如果没有对应的查找值,映射程序应返回四字符字符串
+ "<code>NULL</code>" 来表示这一点。请注意,此比较不区分大小写,
+ 因此 "null"、"Null" 等也被视为查找失败。
+ 因此,映射程序不可能返回字面量字符串 "NULL" 作为映射值。</p>
+
+ <p>程序的 <code>STDERR</code> 继承自 httpd 父进程,
+ 因此程序写入 <code>STDERR</code> 的任何内容都将与 httpd
+ 自身的错误输出出现在相同的位置(通常是
+ <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code>)。</p>
+
+ <p>如果外部重写程序定义在未将
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code>
+ 设置为 <code>on</code> 的上下文中,则不会启动。</p>
+
+ <p>默认情况下,外部重写程序以启动 httpd 的用户:组身份运行。
+ 在 UNIX 系统上,可以通过将用户名和组名作为第三个参数传递给
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>,
+ 以 <code>username:groupname</code> 格式进行更改。</p>
+
+ <p>此功能使用 <code>rewrite-map</code> 互斥锁,
+ 这是与程序可靠通信所必需的。互斥锁机制和锁文件可以通过
+ <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code> 指令进行配置。</p>
+
+ <p>这里展示了一个简单的示例,它将请求 URI 中的所有破折号替换为下划线。</p>
+
+ <p><strong>重写配置</strong></p>
+ <pre class="prettyprint lang-config">RewriteMap d2u "prg:/www/bin/dash2under.py" apache:apache
+RewriteRule "-" "${d2u:%{REQUEST_URI}}"</pre>
+
+
+ <p><strong>dash2under.py</strong></p>
+ <pre class="prettyprint lang-python">#!/usr/bin/env python3
+import sys
+
+for line in sys.stdin:
+ print(line.strip().replace('-', '_'), flush=True)</pre>
+
+
+<div class="note"><h3>注意!</h3>
+<ul>
+<li>保持你的重写映射程序尽可能简单。如果程序挂起,
+它将导致 httpd 无限期地等待映射的响应,
+这反过来会导致 httpd 停止响应请求。</li>
+<li>确保在你的程序中关闭缓冲。在上面的 Python 示例中,
+这是通过向 <code>print()</code> 传递 <code>flush=True</code> 来完成的。
+缓冲的 I/O 将导致 httpd 等待输出,从而挂起。</li>
+<li>请记住,程序只有一个副本,在服务器启动时启动。
+所有请求都需要通过这一个瓶颈。如果许多请求必须通过此进程,
+或者脚本本身非常慢,这可能会导致显著的性能下降。</li>
+<li>如果映射程序终止,它不会自动重启。后续查找将失败,
+直到服务器重启。</li>
+<li>无论相关配置指令是否发生更改,映射程序在任何服务器重启
+(优雅重启或其他方式)时都会被终止并重新启动。
+关闭时,程序会收到 <code>SIGTERM</code> 信号;
+如果在 3 秒内未退出,则会收到 <code>SIGKILL</code> 信号。</li>
+</ul>
+</div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="dbd" id="dbd">dbd 或 fastdbd:SQL 查询</a> <a title="Permanent link" href="#dbd" class="permalink">¶</a></h2>
+
+
+ <p>当 MapType 为 <code>dbd</code> 或 <code>fastdbd</code> 时,
+ MapSource 是一个接受单个参数并返回单个值的 SQL SELECT 语句。</p>
+
+ <p>需要配置 <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>
+ 指向正确的数据库才能执行此语句。</p>
+
+ <p>此 MapType 有两种形式。使用 <code>dbd</code> 的 MapType
+ 会在每次映射请求时执行查询,而使用 <code>fastdbd</code>
+ 则在内部缓存数据库查找结果。因此,虽然 <code>fastdbd</code>
+ 更高效、更快,但它不会在服务器重启之前获取数据库的更改。</p>
+
+ <p>如果查询返回多行,将从结果集中随机使用一行。</p>
+
+ <div class="example"><h3>示例</h3><pre class="prettyprint lang-config">RewriteMap myquery "fastdbd:SELECT destination FROM rewrite WHERE source = %s"</pre>
+</div>
+
+ <div class="note"><h3>注意</h3>
+ <p>查询名称作为 SQL 预处理语句的标签传递给数据库驱动程序,
+ 因此需要遵循数据库要求的任何规则(例如大小写敏感性)。</p></div>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="summary" id="summary">总结</a> <a title="Permanent link" href="#summary" class="permalink">¶</a></h2>
+
+
+ <p><code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ 指令可以出现多次。对于每个映射函数,使用一个
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
+ 指令来声明其重写映射文件。</p>
+
+ <p>虽然你不能在目录级上下文(<code>.htaccess</code> 文件或
+ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> 块)中
+ <strong>声明</strong>映射,但可以在目录级上下文中<strong>使用</strong>此映射。</p>
+
+ </div></div>
+<div class="bottomlang">
+<p><span>可用语言: </span><a href="../de/rewrite/rewritemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/rewritemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/rewritemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/rewritemap.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/rewritemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/rewritemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/rewritemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/rewritemap.html" title="Simplified Chinese"> zh-cn </a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2026 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许可证.</p>
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
# GENERATED FROM XML -- DO NOT EDIT
+URI: tech.html.de
+Content-Language: de
+Content-type: text/html; charset=ISO-8859-1
+
URI: tech.html.en.utf8
Content-Language: en
Content-type: text/html; charset=UTF-8
+URI: tech.html.es.utf8
+Content-Language: es
+Content-type: text/html; charset=UTF-8
+
URI: tech.html.fr.utf8
Content-Language: fr
Content-type: text/html; charset=UTF-8
+
+URI: tech.html.ja.utf8
+Content-Language: ja
+Content-type: text/html; charset=UTF-8
+
+URI: tech.html.ko.euc-kr
+Content-Language: ko
+Content-type: text/html; charset=EUC-KR
+
+URI: tech.html.tr.utf8
+Content-Language: tr
+Content-type: text/html; charset=UTF-8
+
+URI: tech.html.zh-cn.utf8
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!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="de" xml:lang="de"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Technische Details zu Apache mod_rewrite - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Technische Details zu Apache mod_rewrite</h1>
+<div class="toplang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/tech.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+<p>Dieses Dokument behandelt einige der technischen Details von
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> und der URL-Zuordnung.</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#InternalAPI">API-Phasen</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#InternalRuleset">Regelsatz-Verarbeitung</a></li>
+</ul><h3>Siehe auch</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Moduldokumentation</a></li><li><a href="intro.html">Einführung in mod_rewrite</a></li><li><a href="remapping.html">Umleitung und Neuzuordnung</a></li><li><a href="access.html">Zugriffskontrolle</a></li><li><a href="vhosts.html">Virtuelle Hosts</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">Verwendung von RewriteMap</a></li><li><a href="advanced.html">Fortgeschrittene Techniken</a></li><li><a href="avoid.html">Wann man mod_rewrite nicht verwenden sollte</a></li><li><a href="#comments_section">Kommentare</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="InternalAPI" id="InternalAPI">API-Phasen</a> <a title="Permanent link" href="#InternalAPI" class="permalink">¶</a></h2>
+
+ <p>Der Apache HTTP Server bearbeitet Anfragen in mehreren Phasen.
+ In jeder dieser Phasen können ein oder mehrere Module aufgerufen
+ werden, um diesen Teil des Anfrage-Lebenszyklus zu behandeln. Zu
+ den Phasen gehören Dinge wie URL-zu-Dateiname-Übersetzung,
+ Authentifizierung, Autorisierung, Inhalt und Protokollierung. (Dies
+ ist keine vollständige Liste.)</p>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> wirkt in zwei dieser Phasen (oder "Hooks", wie
+ sie oft genannt werden), um zu beeinflussen, wie URLs umgeschrieben
+ werden können.</p>
+
+ <p>Erstens verwendet es den URL-zu-Dateiname-Übersetzungs-Hook, der
+ nach dem Lesen der HTTP-Anfrage stattfindet, aber bevor eine
+ Autorisierung beginnt. Zweitens verwendet es den Fixup-Hook, der
+ nach den Autorisierungsphasen und nach dem Lesen der
+ verzeichnisbezogenen Konfigurationsdateien
+ (<code>.htaccess</code>-Dateien) stattfindet, aber bevor der
+ Inhalts-Handler aufgerufen wird.</p>
+
+ <p>Nachdem eine Anfrage eingegangen ist und ein entsprechender Server
+ oder virtueller Host bestimmt wurde, beginnt die Umschreibungs-Engine
+ mit der Verarbeitung aller <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>-Direktiven in der
+ Server-Konfiguration. (d.h. in der Hauptserverkonfigurationsdatei und
+ in <code class="directive"><a href="../mod/core.html#virtualhost"><Virtualhost></a></code>-Abschnitten.)
+ Dies geschieht in der URL-zu-Dateiname-Phase.</p>
+
+ <p>Einige Schritte später, nachdem die endgültigen Datenverzeichnisse
+ gefunden wurden, werden die verzeichnisbezogenen
+ Konfigurationsdirektiven (<code>.htaccess</code>-Dateien und
+ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>-Blöcke)
+ angewendet. Dies geschieht in der Fixup-Phase.</p>
+
+ <p>In jedem dieser Fälle schreibt <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> die
+ <code>REQUEST_URI</code> entweder auf eine neue URL oder auf einen
+ Dateinamen um.</p>
+
+ <p>Im Verzeichniskontext (d.h. in <code>.htaccess</code>-Dateien und
+ <code>Directory</code>-Blöcken) werden diese Regeln angewendet,
+ nachdem eine URL bereits in einen Dateinamen übersetzt wurde. Aus
+ diesem Grund ist der URL-Pfad, gegen den <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ zunächst die <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>-Direktiven
+ abgleicht, der vollständige Dateisystempfad zum übersetzten
+ Dateinamen, wobei der Pfad des aktuellen Verzeichnisses (einschließlich
+ eines abschließenden Schrägstrichs) vom Anfang entfernt wurde.</p>
+
+ <p>Zur Veranschaulichung: Wenn Regeln in /var/www/foo/.htaccess stehen
+ und eine Anfrage für /foo/bar/baz verarbeitet wird, würde ein Ausdruck
+ wie ^bar/baz$ übereinstimmen.</p>
+
+ <p>Wenn eine Ersetzung im Verzeichniskontext vorgenommen wird, wird
+ eine neue interne Unteranfrage mit der neuen URL ausgelöst, die die
+ Verarbeitung der Anfragephasen neu startet. Wenn die Ersetzung ein
+ relativer Pfad ist, bestimmt die
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>-Direktive
+ das URL-Pfad-Präfix, das der Ersetzung vorangestellt wird. Im
+ Verzeichniskontext muss darauf geachtet werden, Regeln zu erstellen,
+ die letztendlich (in einer zukünftigen "Runde" der verzeichnisbezogenen
+ Umschreibungsverarbeitung) keine Ersetzung durchführen, um Schleifen
+ zu vermeiden. (Siehe <a href="https://cwiki.apache.org/confluence/display/httpd/RewriteLooping">RewriteLooping</a>
+ für eine weitere Diskussion dieses Problems.)</p>
+
+ <p>Aufgrund dieser weiteren Manipulation der URL im Verzeichniskontext
+ müssen Sie Ihre Umschreibungsregeln in diesem Kontext anders
+ gestalten. Insbesondere denken Sie daran, dass der führende
+ Verzeichnispfad vom URL-Pfad abgeschnitten wird, den Ihre
+ Umschreibungsregeln sehen. Betrachten Sie die folgenden Beispiele
+ zur weiteren Verdeutlichung.</p>
+
+ <table class="bordered">
+
+ <tr>
+ <th>Ort der Regel</th>
+ <th>Regel</th>
+ </tr>
+
+ <tr>
+ <td>VirtualHost-Abschnitt</td>
+ <td>RewriteRule "^/images/(.+)\.jpg" "/images/$1.gif"</td>
+ </tr>
+
+ <tr>
+ <td>.htaccess-Datei im Document Root</td>
+ <td>RewriteRule "^images/(.+)\.jpg" "images/$1.gif"</td>
+ </tr>
+
+ <tr>
+ <td>.htaccess-Datei im images-Verzeichnis</td>
+ <td>RewriteRule "^(.+)\.jpg" "$1.gif"</td>
+ </tr>
+
+ </table>
+
+ <p>Für noch mehr Einblick, wie <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> URLs in
+ verschiedenen Kontexten manipuliert, sollten Sie die
+ <a href="../mod/mod_rewrite.html#logging">Protokolleinträge</a>
+ konsultieren, die während der Umschreibung erstellt werden.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="InternalRuleset" id="InternalRuleset">Regelsatz-Verarbeitung</a> <a title="Permanent link" href="#InternalRuleset" class="permalink">¶</a></h2>
+
+ <p>Wenn <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> in diesen beiden API-Phasen
+ ausgelöst wird, liest es die konfigurierten Regelsätze aus seiner
+ Konfigurationsstruktur (die entweder beim Start für den
+ Server-Kontext oder während des Verzeichnisdurchlaufs des
+ Apache-Kerns für den Verzeichniskontext erstellt wurde). Dann wird
+ die URL-Umschreibungs-Engine mit dem enthaltenen Regelsatz gestartet
+ (eine oder mehrere Regeln zusammen mit ihren Bedingungen). Die
+ Funktionsweise der URL-Umschreibungs-Engine ist für beide
+ Konfigurationskontexte genau gleich. Nur die endgültige
+ Ergebnisverarbeitung ist unterschiedlich.</p>
+
+ <p>Die Reihenfolge der Regeln im Regelsatz ist wichtig, da die
+ Umschreibungs-Engine sie in einer speziellen (und nicht sehr
+ offensichtlichen) Reihenfolge verarbeitet. Die Regel lautet:
+ Die Umschreibungs-Engine durchläuft den Regelsatz Regel für Regel
+ (<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>-Direktiven)
+ und wenn eine bestimmte Regel übereinstimmt, durchläuft sie optional
+ die vorhandenen zugehörigen Bedingungen (<code>RewriteCond</code>-Direktiven).
+ Aus historischen Gründen werden die Bedingungen zuerst angegeben,
+ sodass der Kontrollfluss etwas umständlich ist. Siehe Abbildung 1
+ für weitere Details.</p>
+<p class="figure">
+ <img src="../images/rewrite_process_uri.png" alt="Ablauf der RewriteRule- und RewriteCond-Zuordnung" /><br />
+ <dfn>Abbildung 1:</dfn>Der Kontrollfluss durch den Umschreibungsregelsatz
+</p>
+ <p>Zuerst wird die URL gegen das <em>Pattern</em> jeder Regel
+ abgeglichen. Wenn es fehlschlägt, stoppt <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ sofort die Verarbeitung dieser Regel und fährt mit der nächsten Regel
+ fort. Wenn das <em>Pattern</em> übereinstimmt, sucht
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> nach zugehörigen Regelbedingungen
+ (RewriteCond-Direktiven, die in der Konfiguration unmittelbar über
+ der RewriteRule stehen). Wenn keine vorhanden sind, ersetzt es die
+ URL durch einen neuen Wert, der aus dem String <em>Substitution</em>
+ konstruiert wird, und fährt mit seiner Regelschleife fort. Wenn
+ jedoch Bedingungen vorhanden sind, startet es eine innere Schleife
+ zur Verarbeitung dieser in der Reihenfolge, in der sie aufgeführt
+ sind. Für Bedingungen ist die Logik anders: Wir gleichen kein
+ Muster gegen die aktuelle URL ab. Stattdessen erstellen wir zuerst
+ einen String <em>TestString</em> durch Expansion von Variablen,
+ Rückreferenzen, Map-Nachschlagungen <em>usw.</em>, und dann
+ versuchen wir, <em>CondPattern</em> dagegen abzugleichen. Wenn das
+ Muster nicht übereinstimmt, schlägt die gesamte Menge von
+ Bedingungen und die zugehörige Regel fehl. Wenn das Muster
+ übereinstimmt, wird die nächste Bedingung verarbeitet, bis keine
+ weiteren Bedingungen verfügbar sind. Wenn alle Bedingungen
+ übereinstimmen, wird die Verarbeitung mit der Ersetzung der URL
+ durch <em>Substitution</em> fortgesetzt.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/tech.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.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 />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite Technical Details</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/tech.html" title="English"> en </a> |
-<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/tech.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
<p>This document discusses some of the technical details of <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
</div></div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/tech.html" title="English"> en </a> |
-<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/tech.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="es" xml:lang="es"><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>Detalles Técnicos de Apache mod_rewrite - Servidor HTTP Apache Versión 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p>
+<p class="apache">Versión 2.5 del Servidor HTTP Apache</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/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Detalles Técnicos de Apache mod_rewrite</h1>
+<div class="toplang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/tech.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+<p>Este documento discute algunos de los detalles técnicos de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+y la coincidencia de URLs.</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#InternalAPI">Fases de la API</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#InternalRuleset">Procesamiento del Conjunto de Reglas</a></li>
+</ul><h3>Consulte también</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentación del módulo</a></li><li><a href="intro.html">Introducción a mod_rewrite</a></li><li><a href="remapping.html">Redirección y remapeo</a></li><li><a href="access.html">Control de acceso</a></li><li><a href="vhosts.html">Hosts virtuales</a></li><li><a href="proxy.html">Proxy</a></li><li><a href="rewritemap.html">Uso de RewriteMap</a></li><li><a href="advanced.html">Técnicas avanzadas</a></li><li><a href="avoid.html">Cuándo no usar mod_rewrite</a></li><li><a href="#comments_section">Comentarios</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="InternalAPI" id="InternalAPI">Fases de la API</a> <a title="Enlace permanente" href="#InternalAPI" class="permalink">¶</a></h2>
+
+ <p>Apache HTTP Server maneja las solicitudes en varias fases. En
+ cada una de estas fases, uno o más módulos pueden ser llamados para
+ manejar esa porción del ciclo de vida de la solicitud. Las fases incluyen cosas
+ como traducción de URL a nombre de archivo, autenticación, autorización,
+ contenido, y registro. (Esta no es una lista exhaustiva.)</p>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> actúa en dos de estas fases (o "hooks", como se les
+ suele llamar) para influir en cómo las URLs pueden ser reescritas.</p>
+
+ <p>Primero, usa el hook de traducción de URL a nombre de archivo, que ocurre
+ después de que la solicitud HTTP ha sido leída, pero antes de que cualquier autorización
+ comience. Segundo, usa el hook de Fixup, que es después de las
+ fases de autorización, y después de que los archivos de configuración per-directorio
+ (archivos <code>.htaccess</code>) han sido leídos, pero antes de que el
+ manejador de contenido sea llamado.</p>
+
+ <p>Después de que una solicitud llega y se ha determinado un servidor o
+ host virtual correspondiente, el motor de reescritura comienza a
+ procesar cualquier directiva de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> que aparezca en la
+ configuración per-servidor. (es decir, en el archivo de configuración principal del servidor
+ y secciones <code class="directive"><a href="../mod/core.html#virtualhost"><Virtualhost></a></code>.)
+ Esto sucede en la fase de traducción de URL a nombre de archivo.</p>
+
+ <p>Unos pasos más tarde, una vez que se han encontrado los directorios de datos finales,
+ se aplican las directivas de configuración per-directorio (archivos <code>.htaccess</code>
+ y bloques <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>). Esto
+ sucede en la fase de Fixup.</p>
+
+ <p>En cada uno de estos casos, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> reescribe el
+ <code>REQUEST_URI</code> ya sea a una nueva URL, o a un nombre de archivo.</p>
+
+ <p>En contexto per-directorio (es decir, dentro de archivos <code>.htaccess</code>
+ y bloques <code>Directory</code>), estas reglas se están aplicando
+ después de que una URL ya ha sido traducida a un nombre de archivo. Debido a
+ esto, la ruta URL contra la que <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> inicialmente compara las directivas
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ es la ruta completa del sistema de archivos al nombre de archivo traducido con la ruta del
+ directorio actual (incluyendo una barra final) eliminada del frente.</p>
+
+ <p>Para ilustrar: Si las reglas están en /var/www/foo/.htaccess y se está procesando una solicitud
+ para /foo/bar/baz, una expresión como ^bar/baz$ coincidiría.</p>
+
+ <p>Si se hace una sustitución en contexto per-directorio, se emite una nueva
+ sub-solicitud interna con la nueva URL, que reinicia el procesamiento de las
+ fases de la solicitud. Si la sustitución es una ruta relativa, la directiva <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>
+ determina el prefijo de ruta URL que se antepone a la sustitución.
+ En contexto per-directorio, se debe tener cuidado de
+ crear reglas que eventualmente (en alguna "ronda" futura de procesamiento de reescritura
+ per-directorio) no realicen una sustitución para evitar bucles.
+ (Vea <a href="https://cwiki.apache.org/confluence/display/httpd/RewriteLooping">RewriteLooping</a>
+ para más discusión de este problema.)</p>
+
+ <p>Debido a esta manipulación adicional de la URL en contexto per-directorio,
+ necesitará tener cuidado de crear sus reglas de reescritura
+ de manera diferente en ese contexto. En particular, recuerde que la
+ ruta de directorio principal se eliminará de la URL que sus
+ reglas de reescritura verán. Considere los ejemplos siguientes para más
+ clarificación.</p>
+
+ <table class="bordered">
+
+ <tr>
+ <th>Ubicación de la regla</th>
+ <th>Regla</th>
+ </tr>
+
+ <tr>
+ <td>Sección VirtualHost</td>
+ <td>RewriteRule "^/images/(.+)\.jpg" "/images/$1.gif"</td>
+ </tr>
+
+ <tr>
+ <td>Archivo .htaccess en la raíz del documento</td>
+ <td>RewriteRule "^images/(.+)\.jpg" "images/$1.gif"</td>
+ </tr>
+
+ <tr>
+ <td>Archivo .htaccess en el directorio images</td>
+ <td>RewriteRule "^(.+)\.jpg" "$1.gif"</td>
+ </tr>
+
+ </table>
+
+ <p>Para aún más información sobre cómo <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> manipula URLs en
+ diferentes contextos, debería consultar las <a href="../mod/mod_rewrite.html#logging">entradas del log</a> realizadas durante
+ la reescritura.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="InternalRuleset" id="InternalRuleset">Procesamiento del Conjunto de Reglas</a> <a title="Enlace permanente" href="#InternalRuleset" class="permalink">¶</a></h2>
+
+ <p>Ahora cuando <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> se activa en estas dos fases de la API, lee
+ los conjuntos de reglas configurados desde su estructura de
+ configuración (que a su vez fue creada al inicio para
+ contexto per-servidor o durante el recorrido de directorios del
+ núcleo de Apache para contexto per-directorio). Entonces el motor de reescritura
+ de URLs se inicia con el conjunto de reglas contenido (una o más
+ reglas junto con sus condiciones). La operación del
+ motor de reescritura de URLs es exactamente la misma para ambos
+ contextos de configuración. Solo el procesamiento del resultado final es
+ diferente.</p>
+
+ <p>El orden de las reglas en el conjunto de reglas es importante porque el
+ motor de reescritura las procesa en un orden especial (y no muy
+ obvio). La regla es esta: El motor de reescritura recorre
+ el conjunto de reglas regla por regla (directivas
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>) y
+ cuando una regla particular coincide, opcionalmente recorre
+ las condiciones correspondientes existentes (directivas <code>RewriteCond</code>).
+ Por razones históricas las condiciones se dan
+ primero, y por lo tanto el flujo de control es un poco
+ enrevesado. Vea la Figura 1 para más detalles.</p>
+<p class="figure">
+ <img src="../images/rewrite_process_uri.png" alt="Flujo de coincidencia de RewriteRule y RewriteCond" /><br />
+ <dfn>Figura 1:</dfn>El flujo de control a través del conjunto de reglas de reescritura
+</p>
+ <p>Primero la URL se compara contra el
+ <em>Pattern</em> de cada regla. Si falla, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ inmediatamente deja de procesar esta regla, y continúa con la
+ siguiente regla. Si el <em>Pattern</em> coincide, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> busca
+ las condiciones de regla correspondientes (directivas RewriteCond,
+ que aparecen inmediatamente encima de la RewriteRule en la configuración).
+ Si no hay ninguna, sustituye la URL con un nuevo valor, que se
+ construye a partir de la cadena <em>Substitution</em>, y continúa
+ con su bucle de reglas. Pero si existen condiciones, inicia un
+ bucle interno para procesarlas en el orden en que están
+ listadas. Para las condiciones, la lógica es diferente: no comparamos
+ un patrón contra la URL actual. En su lugar, primero creamos una
+ cadena <em>TestString</em> expandiendo variables,
+ referencias inversas, búsquedas en mapas, <em>etc.</em> y luego intentamos
+ comparar <em>CondPattern</em> contra ella. Si el patrón
+ no coincide, el conjunto completo de condiciones y la
+ regla correspondiente fallan. Si el patrón coincide, entonces se
+ procesa la siguiente condición hasta que no haya más condiciones
+ disponibles. Si todas las condiciones coinciden, el procesamiento continúa
+ con la sustitución de la URL con
+ <em>Substitution</em>.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/tech.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.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 />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Détails techniques sur le module Apache mod_rewrite</h1>
<div class="toplang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/tech.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/tech.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Ce document passe en revue certains détails techniques à propos du
module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> et de la mise en correspondance des URLs</p>
<p>Lorsqu'une requête arrive et une fois le serveur
correspondant ou le serveur virtuel déterminé, le moteur de
- réécriture commence à traiter toute directive apparaissant dans la
+ réécriture commence à traiter toute directive <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> apparaissant dans la
configuration de niveau serveur (autrement dit dans le
fichier de configuration principal du serveur et les sections
<code class="directive"><a href="../mod/core.html#virtualhost"><Virtualhost></a></code>).
</div></div>
<div class="bottomlang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/tech.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/tech.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.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 />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="ja" xml:lang="ja"><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>Apache mod_rewrite 技術的詳細 - Apache HTTP サーバ バージョン 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
+<p class="apache">Apache HTTP サーバ バージョン 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite 技術的詳細</h1>
+<div class="toplang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/tech.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+<p>このドキュメントでは、<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> と URL マッチングの
+技術的な詳細について説明します。</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#InternalAPI">API フェーズ</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#InternalRuleset">ルールセットの処理</a></li>
+</ul><h3>参照</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">モジュールドキュメント</a></li><li><a href="intro.html">mod_rewrite 入門</a></li><li><a href="remapping.html">リダイレクトとリマッピング</a></li><li><a href="access.html">アクセス制御</a></li><li><a href="vhosts.html">バーチャルホスト</a></li><li><a href="proxy.html">プロキシ</a></li><li><a href="rewritemap.html">RewriteMap の使用</a></li><li><a href="advanced.html">高度なテクニック</a></li><li><a href="avoid.html">mod_rewrite を使わない場合</a></li><li><a href="#comments_section">コメント</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="InternalAPI" id="InternalAPI">API フェーズ</a> <a title="Permanent link" href="#InternalAPI" class="permalink">¶</a></h2>
+
+ <p>Apache HTTP Server は、いくつかのフェーズでリクエストを処理します。
+ 各フェーズでは、リクエストライフサイクルのその部分を処理するために
+ 1 つ以上のモジュールが呼び出される可能性があります。フェーズには、
+ URL からファイル名への変換、認証、認可、コンテンツ、ロギングなどが
+ 含まれます。(これは完全なリストではありません。)</p>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> は、URL の書き換え方法に影響を与えるために、
+ これらのフェーズ (しばしば「フック」と呼ばれます) のうち 2 つで
+ 動作します。</p>
+
+ <p>まず、URL からファイル名への変換フックを使用します。これは
+ HTTP リクエストが読み取られた後、認可が開始される前に発生します。
+ 次に、Fixup フックを使用します。これは認可フェーズの後、
+ ディレクトリ単位の設定ファイル (<code>.htaccess</code> ファイル)
+ が読み取られた後、コンテンツハンドラが呼び出される前です。</p>
+
+ <p>リクエストが到着し、対応するサーバまたはバーチャルホストが
+ 決定された後、書き換えエンジンはサーバ単位の設定に含まれる
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ディレクティブの処理を開始します。
+ (つまり、メインサーバ設定ファイルと
+ <code class="directive"><a href="../mod/core.html#virtualhost"><Virtualhost></a></code>
+ セクション内のディレクティブです。) これは URL からファイル名への
+ 変換フェーズで発生します。</p>
+
+ <p>数ステップ後、最終的なデータディレクトリが見つかると、
+ ディレクトリ単位の設定ディレクティブ (<code>.htaccess</code>
+ ファイルと <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ブロック) が適用されます。
+ これは Fixup フェーズで発生します。</p>
+
+ <p>これらの各ケースで、<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> は
+ <code>REQUEST_URI</code> を新しい URL またはファイル名に
+ 書き換えます。</p>
+
+ <p>ディレクトリ単位のコンテキスト (つまり <code>.htaccess</code>
+ ファイルと <code>Directory</code> ブロック内) では、URL が既に
+ ファイル名に変換された後にこれらのルールが適用されます。このため、
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> が最初に <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ディレクティブと比較する
+ URL パスは、変換されたファイル名のフルファイルシステムパスから、
+ 現在のディレクトリのパス (末尾のスラッシュを含む) を先頭から
+ 削除したものになります。</p>
+
+ <p>例として: ルールが /var/www/foo/.htaccess にあり、
+ /foo/bar/baz へのリクエストが処理されている場合、^bar/baz$ のような
+ 式がマッチします。</p>
+
+ <p>ディレクトリ単位のコンテキストで置換が行われた場合、新しい URL で
+ 新しい内部サブリクエストが発行され、リクエストフェーズの処理が
+ 再開されます。置換が相対パスの場合、<code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> ディレクティブが
+ 置換の前に付加する URL パスプレフィックスを決定します。
+ ディレクトリ単位のコンテキストでは、ループを避けるために、
+ 最終的に (将来のディレクトリ単位の書き換え処理の「ラウンド」で)
+ 置換を行わないルールを作成するよう注意する必要があります。
+ (この問題の詳細については
+ <a href="https://cwiki.apache.org/confluence/display/httpd/RewriteLooping">RewriteLooping</a>
+ を参照してください。)</p>
+
+ <p>ディレクトリ単位のコンテキストでの URL のさらなる操作のため、
+ そのコンテキストでは書き換えルールを異なるように作成するよう
+ 注意する必要があります。特に、先頭のディレクトリパスが書き換えルールが
+ 認識する URL から削除されることを忘れないでください。詳細については
+ 以下の例を参照してください。</p>
+
+ <table class="bordered">
+
+ <tr>
+ <th>ルールの場所</th>
+ <th>ルール</th>
+ </tr>
+
+ <tr>
+ <td>VirtualHost セクション</td>
+ <td>RewriteRule "^/images/(.+)\.jpg" "/images/$1.gif"</td>
+ </tr>
+
+ <tr>
+ <td>ドキュメントルートの .htaccess ファイル</td>
+ <td>RewriteRule "^images/(.+)\.jpg" "images/$1.gif"</td>
+ </tr>
+
+ <tr>
+ <td>images ディレクトリの .htaccess ファイル</td>
+ <td>RewriteRule "^(.+)\.jpg" "$1.gif"</td>
+ </tr>
+
+ </table>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> がさまざまなコンテキストで URL をどのように
+ 操作するかについてさらに詳しくは、書き換え中に作成される
+ <a href="../mod/mod_rewrite.html#logging">ログエントリ</a>を
+ 参照してください。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="InternalRuleset" id="InternalRuleset">ルールセットの処理</a> <a title="Permanent link" href="#InternalRuleset" class="permalink">¶</a></h2>
+
+ <p>これら 2 つの API フェーズで <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> がトリガー
+ されると、設定構造体 (サーバ単位のコンテキストではスタートアップ時に
+ 作成されたもの、ディレクトリ単位のコンテキストでは Apache カーネルの
+ ディレクトリウォーク中に作成されたもの) から設定済みのルールセットを
+ 読み取ります。次に、含まれるルールセット (1 つ以上のルールとその
+ 条件のセット) を使用して URL 書き換えエンジンが起動されます。
+ URL 書き換えエンジン自体の動作は、両方の設定コンテキストで
+ まったく同じです。最終結果の処理のみが異なります。</p>
+
+ <p>ルールセット内のルールの順序は重要です。書き換えエンジンは
+ 特殊な (あまり直感的ではない) 順序でルールを処理するためです。
+ ルールは次のとおりです: 書き換えエンジンはルールセットをルールごとに
+ (<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ ディレクティブ) ループし、特定のルールがマッチすると、対応する
+ 条件 (<code>RewriteCond</code> ディレクティブ) をオプションで
+ ループします。歴史的な理由により、条件が先に記述されるため、
+ 制御フローは少し冗長になります。詳細は図 1 を参照してください。</p>
+<p class="figure">
+ <img src="../images/rewrite_process_uri.png" alt="RewriteRule と RewriteCond マッチングのフロー" /><br />
+ <dfn>図 1:</dfn> 書き換えルールセットを通る制御フロー
+</p>
+ <p>まず、URL が各ルールの <em>Pattern</em> に対してマッチされます。
+ マッチしない場合、<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> はそのルールの処理を
+ 直ちに停止し、次のルールに進みます。<em>Pattern</em> がマッチすると、
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> は対応するルール条件 (設定内の RewriteRule の
+ 直前に記述される RewriteCond ディレクティブ) を探します。
+ 条件がない場合、URL を <em>Substitution</em> 文字列から構築された
+ 新しい値で置換し、ルールループを続行します。条件が存在する場合、
+ 記述された順序で処理する内部ループを開始します。条件のロジックは
+ 異なります: 現在の URL に対してパターンをマッチさせるのではなく、
+ まず変数の展開、バックリファレンス、マップ検索<em>等</em>を行って
+ <em>TestString</em> 文字列を作成し、それに対して
+ <em>CondPattern</em> をマッチさせようとします。パターンがマッチしない
+ 場合、条件のセット全体と対応するルールが失敗します。パターンが
+ マッチすると、次の条件が処理され、条件がなくなるまで続きます。
+ すべての条件がマッチした場合、URL の <em>Substitution</em> による
+ 置換の処理が続行されます。</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/tech.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.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="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="EUC-KR"?>
+<!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="ko" xml:lang="ko"><head>
+<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache mod_rewrite 기ì���� �¸ë� �¬í�� - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite 기ì���� �¸ë� �¬í��</h1>
+<div class="toplang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/tech.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+<p>�� 문��� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� URL 매�� 기���
+�¸ë� �¬í�� �¼ë�ë¥� �¼ì���©ë����.</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#InternalAPI">API �¨ê�</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#InternalRuleset">ê·�ì¹� �¸í�� ì²�ë¦�</a></li>
+</ul><h3>Âü°í</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">모ë�� 문ì��</a></li><li><a href="intro.html">mod_rewrite ��ê°�</a></li><li><a href="remapping.html">리ë�¤ì�´ë����ê³� �¬ë§¤��</a></li><li><a href="access.html">��ê·� ����</a></li><li><a href="vhosts.html">ê°��� �¸ì�¤í��</a></li><li><a href="proxy.html">��ë¡���</a></li><li><a href="rewritemap.html">RewriteMap �¬ì�©í��ê¸�</a></li><li><a href="advanced.html">ê³�ê¸� 기ì��</a></li><li><a href="avoid.html">mod_rewriteë¥� �¬ì�©í��ì§� ë§����� �� ê²½ì��</a></li><li><a href="#comments_section">Comments</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="InternalAPI" id="InternalAPI">API �¨ê�</a> <a title="Permanent link" href="#InternalAPI" class="permalink">¶</a></h2>
+
+ <p>Apache HTTP Server�� �¬ë�� �¨ê�ë¡� ��ì²��� ì²�리í�©ë����.
+ �´ë�¬í�� ê°� �¨ê����� ��ì²� ��ëª� 주기�� �´ë�� ë¶�ë¶��� ì²�리í��ê¸�
+ ���� ���� �´ì���� 모ë���� �¸ì��� �� ���µë����. �¨ê�����
+ URL���� ���¼ë��¼ë��� ë³���, �¸ì�, �¸ê�, ì½���ì¸�, ë¡�ê¹�
+ �±ì�� �¬í�¨ë�©ë����. (�´ê��� ��ì²� 목ë��� ��������.)</p>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� URL�� �¬ì���±ë�� �� ����
+ ë°©ì���� ���¥ì�� 미ì�ê¸� ���� �´ë�¬í�� �¨ê�(���� ì¢�ì¢�
+ "��"�´ë�� ë¶�리ë��) ì¤� �� ê°�ì§����� �����©ë����.</p>
+
+ <p>첫째, HTTP ��ì²��� �½í��ì§� �� �¸ê�ê°� ������ê¸� ����
+ ë°������� URL���� ���¼ë��¼ë��� ë³��� ���� �¬ì�©í�©ë����.
+ ��ì§�, �¸ê� �¨ê� �� 그리ê³� ������리ë� �¤ì�� ����
+ (<code>.htaccess</code> ����)�� �½í�� �� ì½���ì¸�
+ �¸ë�¤ë�¬ê� �¸ì���ê¸� ���� ë°������� Fixup ����
+ �¬ì�©í�©ë����.</p>
+
+ <p>��ì²��� �¤ì�´ì�¤ê� �´ë�� ��ë²� ���� ê°��� �¸ì�¤í�¸ê�
+ ê²°ì���� ��, �¬ì���� ��ì§��� ��ë²�ë³� �¤ì���� ��������
+ 모ë�� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ì§����´ì�� ì²�리ë��
+ �����©ë����. (ì¦�, ì£� ��ë²� �¤ì�� ���¼ê³¼
+ <code class="directive"><a href="../mod/core.html#virtualhost"><Virtualhost></a></code>
+ �¹ì������.) �´ê��� URL���� ���¼ë��¼ë��� �¨ê�����
+ ë°����©ë����.</p>
+
+ <p>ëª� �¨ê� ��, ìµ�ì¢� �°ì�´í�� ������리ê� ë°�견ë��ë©�
+ ������리ë� �¤ì�� ì§�����(<code>.htaccess</code> ���¼ê³¼
+ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+ ë¸�ë¡�)ê°� ���©ë�©ë����. �´ê��� Fixup �¨ê�����
+ ë°����©ë����.</p>
+
+ <p>�´ë�¬í�� ê°� ê²½ì�°ì�� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>��
+ <code>REQUEST_URI</code>ë¥� �� URL ���� ���¼ë��¼ë�
+ �¬ì���±í�©ë����.</p>
+
+ <p>������리ë� 컨í���¤í��(ì¦�, <code>.htaccess</code> ���¼ê³¼
+ <code>Directory</code> ë¸�ë¡� ��)���� �´ë�¬í�� ê·�ì¹���
+ URL�� �´ë�� ���¼ë��¼ë� ë³����� ���� ���©ë�©ë����.
+ �� ��문� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>� �����
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ ì§����´ì�� ë¹�êµ����� URL ê²½ë��� ���� ������ë¦� ê²½ë�(�¤ì��
+ �¬ë���� �¬í��)ê°� ������ ��ê±°ë�� ë³����� ���¼ë��� ��ì²�
+ ���� ���¤í�� ê²½ë�������.</p>
+
+ <p>��ë¥� �¤ì��: ê·�ì¹��� /var/www/foo/.htaccess�� ��ê³�
+ /foo/bar/baz�� ���� ��ì²��� ì²�리ë��ê³� ���¤ë©´
+ ^bar/baz$�� ê°��� �������� �¼ì��©ë����.</p>
+
+ <p>������리ë� 컨í���¤í�¸ì���� ì¹����� �´ë£¨�´ì�ë©�
+ �� URLë¡� ��ë¡��� �´ë� ��ë¸���ì²��� ë°������� ��ì²�
+ �¨ê��� ì²�리ê� �¤ì�� �����©ë����. ì¹����� ���� ê²½ë���
+ 경� <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>
+ ì§����´ê� ì¹��� ���� ì¶�ê°����� URL ê²½ë� �����¬ë��
+ ê²°ì���©ë����. ������리ë� 컨í���¤í�¸ì������ 루í���� �¼í��ê¸�
+ ���� ê²°êµ(미ë���� ������리ë� �¬ì���� ì²�ë¦� "�¼ì�´ë��"����)
+ ì¹����� ������ì§� ���� ê·�ì¹��� ���±í����ë¡� 주ì���´ì��
+ �©ë����. (�� 문ì���� ���� ���¸í�� �¼ì����
+ <a href="https://cwiki.apache.org/confluence/display/httpd/RewriteLooping">RewriteLooping</a>��
+ 참조��������.)</p>
+
+ <p>������리ë� 컨í���¤í�¸ì������ �´ë�¬í�� ì¶�ê°� URL ì¡°ì��
+ ��문ì�� �´ë�� 컨í���¤í�¸ì���� �¬ì���� ê·�ì¹��� �¤ë¥´ê²�
+ ���±í����ë¡� 주ì���´ì�� �©ë����. �¹í�� ���� ������ë¦� ê²½ë�ê°�
+ �¬ì���� ê·�ì¹��� ë³´ê� �� URL���� ��ê±°ë���¤ë�� ê²���
+ 기ì�µí��������. �� ���¸í�� �¤ë��� ���� ����ë¥�
+ 참조��������.</p>
+
+ <table class="bordered">
+
+ <tr>
+ <th>���� ���</th>
+ <th>��</th>
+ </tr>
+
+ <tr>
+ <td>VirtualHost �¹ì��</td>
+ <td>RewriteRule "^/images/(.+)\.jpg" "/images/$1.gif"</td>
+ </tr>
+
+ <tr>
+ <td>문� 루�� .htaccess ����</td>
+ <td>RewriteRule "^images/(.+)\.jpg" "images/$1.gif"</td>
+ </tr>
+
+ <tr>
+ <td>images ������리� .htaccess ����</td>
+ <td>RewriteRule "^(.+)\.jpg" "$1.gif"</td>
+ </tr>
+
+ </table>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ê°� �¤ì���� 컨í���¤í�¸ì����
+ URL�� ì¡°ì������ ë°©ì���� ���� �� ë§��� �µì°°�¥ì�� �»ì�¼ë�¤ë©´
+ �¬ì���� ì¤��� ���±ë���� <a href="../mod/mod_rewrite.html#logging">ë¡�ê·� ��ëª�</a>��
+ 참조�´ì�� �©ë����.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="InternalRuleset" id="InternalRuleset">ê·�ì¹� �¸í�� ì²�ë¦�</a> <a title="Permanent link" href="#InternalRuleset" class="permalink">¶</a></h2>
+
+ <p>�´ì�� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ê°� �� �� API �¨ê�����
+ �¸ë¦¬ê±°ë��ë©� �¤ì�� 구조���� 구ì�±ë�� ê·�ì¹� �¸í�¸ë�� �½ì�µë����
+ (�´ê��� ��ë²�ë³� 컨í���¤í�¸ì�� ê²½ì�� ���� ���� ���±ë��ê±°ë��
+ ������리ë� 컨í���¤í�¸ì�� ê²½ì�� Apache 커ë���� ������ë¦� ����
+ ì¤��� ���±ë�©ë����). ê·¸ë�� �¤ì�� �¬í�¨ë�� ê·�ì¹� �¸í��(����
+ �´ì���� ê·�ì¹�ê³� ê·� ì¡°ê±´)ë¡� URL �¬ì���� ��ì§���
+ �����©ë����. URL �¬ì���� ��ì§� ��ì²´ì�� ������ ��
+ �¤ì�� 컨í���¤í�¸ì���� ������ ���¼í�©ë����. ìµ�ì¢� ê²°ê³¼
+ ì²�리ë� �¤ë�����.</p>
+
+ <p>ê·�ì¹� �¸í�¸ì���� ê·�ì¹��� ������ �¬ì���� ��ì§���
+ �¹ë���(그리ê³� ê·¸ë�¤ì� ë¶�ëª���ì§� ����) ����ë¡� ì²�리í��ë¯�ë¡�
+ ì¤����©ë����. ê·�ì¹��� �¤ì��ê³� ê°��µë����: �¬ì���� ��ì§���
+ ê·�ì¹� �¸í�¸ë�� ê·�ì¹�ë³�ë¡�(<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ì§�����)
+ ������ê³� �¹ì�� ê·�ì¹��� �¼ì���ë©� �������¼ë� �´ë�¹í����
+ 기존 조건(<code>RewriteCond</code> �����)��
+ �����©ë����. ���¬ì�� �´ì��ë¡� ì¡°ê±´�� 먼ì�� 주ì�´ì�ë¯�ë¡�
+ ���� ��ë¦��� �½ê� �¥í�©í�©ë����. ���¸í�� �´ì�©ì��
+ 그림 1�� 참조��������.</p>
+<p class="figure">
+ <img src="../images/rewrite_process_uri.png" alt="RewriteRule� RewriteCond 매�� ���" /><br />
+ <dfn>그림 1:</dfn> �¬ì���� ê·�ì¹� �¸í�¸ë�� �µí�� ���� ��ë¦�
+</p>
+ <p>먼� URL�� � ���� <em>Pattern</em>�
+ ë¹�êµ��©ë����. �¤í�¨í��ë©� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>��
+ ì¦��� �� ê·�ì¹��� ì²�리ë�� ì¤�ì§���ê³� �¤ì�� ê·�ì¹��¼ë�
+ ê³����©ë����. <em>Pattern</em>�� �¼ì���ë©�
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� �´ë�¹í���� ê·�ì¹� ì¡°ê±´
+ (�¤ì������ RewriteRule ë°�ë¡� ���� ��������
+ RewriteCond ì§�����)�� ì°¾ì�µë����. ì¡°ê±´�� ���¼ë©´
+ <em>Substitution</em> 문ì���´ì���� 구ì�±ë�� �� ê°��¼ë�
+ URL�� ì¹�����ê³� ê·�ì¹� ����ë¥� ê³����©ë����. ê·¸ë�¬ë��
+ ì¡°ê±´�� ���¼ë©´ ���´ë�� ������ë¡� ì²�리í��ê¸� ���� �´ë�
+ 루í��ë¥� �����©ë����. ì¡°ê±´�� ê²½ì�� ë¡�ì§��� �¤ë�����:
+ ���� URL�� ���� �¨í�´ì�� 매ì¹��ì§� ���µë����. ����
+ 먼ì�� ë³���, ��참조, ë§� ì¡°í�� <em>��</em>�� ���¥í����
+ 문ì���� <em>TestString</em>�� ���±í�� �¤ì��
+ <em>CondPattern</em>�� �´ì�� ���� 매ì¹���¤ê�
+ �©ë����. �¨í�´ì�� �¼ì���ì§� ���¼ë©´ ��ì²� ì¡°ê±´ �¸í�¸ì��
+ �´ë�� ê·�ì¹��� �¤í�¨í�©ë����. �¨í�´ì�� �¼ì���ë©� �� �´ì��
+ ì¡°ê±´�� ���� ��ê¹�ì§� �¤ì�� ì¡°ê±´�� ì²�리ë�©ë����. 모ë��
+ ì¡°ê±´�� �¼ì���ë©� <em>Substitution</em>�¼ë� URL��
+ ì¹������� ì²�리ê� ê³����©ë����.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/tech.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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>Apache mod_rewrite Teknik Ayrıntıları - 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" type="text/javascript">
+</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></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="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.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite Teknik Ayrıntıları</h1>
+<div class="toplang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/tech.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+<p>Bu belge, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ve URL eşleştirmesinin bazı
+teknik ayrıntılarını tartışır.</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#InternalAPI">API Aşamaları</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#InternalRuleset">Kural Kümesi İşleme</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="intro.html">mod_rewrite'a giriş</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><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="InternalAPI" id="InternalAPI">API Aşamaları</a> <a title="Permanent link" href="#InternalAPI" class="permalink">¶</a></h2>
+
+ <p>Apache HTTP Sunucusu, istekleri birkaç aşamada işler. Bu
+ aşamaların her birinde, istek yaşam döngüsünün o bölümünü
+ işlemek üzere bir veya daha fazla modül çağrılabilir. Aşamalar
+ URL-dosyaadı çevirisi, kimlik doğrulama, yetkilendirme, içerik
+ ve günlükleme gibi şeyleri içerir. (Bu kapsamlı bir liste
+ değildir.)</p>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, URL'lerin nasıl yeniden
+ yazılabileceğini etkilemek için bu aşamalardan ikisinde (veya
+ sıklıkla çağrıldıkları şekliyle "kancalarda") çalışır.</p>
+
+ <p>İlk olarak, HTTP isteği okunduktan sonra ancak herhangi bir
+ yetkilendirme başlamadan önce gerçekleşen URL-dosyaadı çevirisi
+ kancasını kullanır. İkinci olarak, yetkilendirme aşamalarından
+ sonra ve dizin başına yapılandırma dosyaları
+ (<code>.htaccess</code> dosyaları) okunduktan sonra ancak içerik
+ işleyicisi çağrılmadan önce gerçekleşen Düzeltme (Fixup)
+ kancasını kullanır.</p>
+
+ <p>Bir istek geldikten ve karşılık gelen sunucu veya sanal konak
+ belirlendikten sonra, yeniden yazma motoru sunucu başına
+ yapılandırmada görünen <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> yönergelerini
+ işlemeye başlar. (Yani ana sunucu yapılandırma dosyası ve
+ <code class="directive"><a href="../mod/core.html#virtualhost"><Virtualhost></a></code>
+ bölümleri.) Bu, URL-dosyaadı aşamasında gerçekleşir.</p>
+
+ <p>Birkaç adım sonra, son veri dizinleri bulunduktan sonra dizin
+ başına yapılandırma yönergeleri (<code>.htaccess</code> dosyaları
+ ve <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+ blokları) uygulanır. Bu, Düzeltme aşamasında gerçekleşir.</p>
+
+ <p>Bu durumların her birinde <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>,
+ <code>REQUEST_URI</code>'yi ya yeni bir URL'ye ya da bir dosya
+ adına yeniden yazar.</p>
+
+ <p>Dizin başına bağlamda (yani <code>.htaccess</code> dosyaları ve
+ <code>Directory</code> blokları içinde) bu kurallar, bir URL
+ zaten bir dosya adına çevrilmiş olduktan sonra uygulanır. Bu
+ nedenle, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülünün <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergelerini
+ başlangıçta karşılaştırdığı URL yolu, çevrilen dosya adının tam
+ dosya sistemi yolu olup geçerli dizin yolu (sondaki eğik çizgi
+ dahil) öndeki kısımdan çıkarılmıştır.</p>
+
+ <p>Göstermek gerekirse: Kurallar /var/www/foo/.htaccess içindeyse
+ ve /foo/bar/baz isteği işleniyorsa, ^bar/baz$ gibi bir ifade
+ eşleşecektir.</p>
+
+ <p>Dizin başına bağlamda bir değiştirme yapılırsa, yeni URL ile
+ yeni bir dahili alt istek verilir ve bu da istek aşamalarının
+ işlenmesini yeniden başlatır. Değiştirme göreli bir yolsa,
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> yönergesi
+ değiştirmenin önüne eklenen URL yolu önekini belirler. Dizin
+ başına bağlamda, döngüyü önlemek için sonunda (gelecekteki bir
+ dizin başına yeniden yazma işleme "turunda") değiştirme yapmayan
+ kurallar oluşturmaya dikkat edilmelidir. (Bu sorunun daha ayrıntılı
+ tartışması için <a href="https://cwiki.apache.org/confluence/display/httpd/RewriteLooping">RewriteLooping</a>
+ sayfasına bakın.)</p>
+
+ <p>Dizin başına bağlamda URL'nin bu ek işlenmesi nedeniyle, bu
+ bağlamda yeniden yazma kurallarınızı farklı şekilde oluşturmaya
+ dikkat etmeniz gerekecektir. Özellikle, baştaki dizin yolunun
+ yeniden yazma kurallarınızın göreceği URL'den çıkarılacağını
+ unutmayın. Daha fazla açıklama için aşağıdaki örneklere bakın.</p>
+
+ <table class="bordered">
+
+ <tr>
+ <th>Kuralın konumu</th>
+ <th>Kural</th>
+ </tr>
+
+ <tr>
+ <td>VirtualHost bölümü</td>
+ <td>RewriteRule "^/images/(.+)\.jpg" "/images/$1.gif"</td>
+ </tr>
+
+ <tr>
+ <td>Belge kökündeki .htaccess dosyası</td>
+ <td>RewriteRule "^images/(.+)\.jpg" "images/$1.gif"</td>
+ </tr>
+
+ <tr>
+ <td>images dizinindeki .htaccess dosyası</td>
+ <td>RewriteRule "^(.+)\.jpg" "$1.gif"</td>
+ </tr>
+
+ </table>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülünün farklı bağlamlarda
+ URL'leri nasıl değiştirdiği hakkında daha fazla bilgi için,
+ yeniden yazma sırasında oluşturulan <a href="../mod/mod_rewrite.html#logging">günlük kayıtlarına</a>
+ başvurmalısınız.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="InternalRuleset" id="InternalRuleset">Kural Kümesi İşleme</a> <a title="Permanent link" href="#InternalRuleset" class="permalink">¶</a></h2>
+
+ <p>Şimdi <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> bu iki API aşamasında
+ tetiklendiğinde, yapılandırılmış kural kümelerini yapılandırma
+ yapısından okur (bu yapı sunucu başına bağlam için başlangıçta
+ veya dizin başına bağlam için Apache çekirdeğinin dizin
+ yürüyüşü sırasında oluşturulmuştur). Ardından URL yeniden
+ yazma motoru içerilen kural kümesiyle (bir veya daha fazla kural
+ ve bunların koşulları birlikte) başlatılır. URL yeniden yazma
+ motorunun çalışması her iki yapılandırma bağlamı için de
+ tamamen aynıdır. Yalnızca nihai sonuç işleme farklıdır.</p>
+
+ <p>Kural kümesindeki kuralların sırası önemlidir; çünkü yeniden
+ yazma motoru bunları özel (ve çok belirgin olmayan) bir sırada
+ işler. Kural şudur: Yeniden yazma motoru kural kümesini kural
+ kural (<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ yönergeleri) döner ve belirli bir kural eşleştiğinde isteğe
+ bağlı olarak karşılık gelen koşulları (<code>RewriteCond</code>
+ yönergeleri) döner. Tarihsel nedenlerle koşullar önce verilir
+ ve bu nedenle kontrol akışı biraz dolambaçlıdır. Daha fazla
+ ayrıntı için Şekil 1'e bakın.</p>
+<p class="figure">
+ <img src="../images/rewrite_process_uri.png" alt="RewriteRule ve RewriteCond eşleştirme akışı" /><br />
+ <dfn>Şekil 1:</dfn>Yeniden yazma kural kümesindeki kontrol akışı
+</p>
+ <p>İlk olarak URL, her kuralın <em>Kalıp</em>'ıyla eşleştirilir.
+ Başarısız olursa <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> bu kuralı hemen
+ işlemeyi durdurur ve sonraki kuralla devam eder. <em>Kalıp</em>
+ eşleşirse <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> karşılık gelen kural
+ koşullarını (yapılandırmada RewriteRule'un hemen üstünde görünen
+ RewriteCond yönergeleri) arar. Hiçbiri yoksa, URL'yi
+ <em>Değiştirme</em> dizgesinden oluşturulan yeni bir değerle
+ değiştirir ve kural döngüsüne devam eder. Ancak koşullar
+ varsa, listelenme sırasına göre bunları işlemek için bir iç
+ döngü başlatır. Koşullar için mantık farklıdır: geçerli URL'ye
+ karşı bir kalıp eşleştirmeyiz. Bunun yerine, önce değişkenleri,
+ geri başvuruları, eşlem aramalarını <em>vb.</em> genişleterek
+ bir <em>SınamaDizgesi</em> oluştururuz ve ardından
+ <em>KoşulKalıbı</em>'nı bununla eşleştirmeye çalışırız. Kalıp
+ eşleşmezse, koşulların tamamı ve karşılık gelen kural başarısız
+ olur. Kalıp eşleşirse, daha fazla koşul kalmayana kadar bir
+ sonraki koşul işlenir. Tüm koşullar eşleşirse, URL'nin
+ <em>Değiştirme</em> ile değiştirilmesiyle işleme devam
+ eder.</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/tech.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.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="http://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></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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="zh-cn" xml:lang="zh-cn"><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>Apache mod_rewrite 技术细节 - Apache HTTP 服务器 版本 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP 服务器版本 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP 服务器</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../">版本 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Apache mod_rewrite 技术细节</h1>
+<div class="toplang">
+<p><span>可用语言: </span><a href="../de/rewrite/tech.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.html" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+<p>本文档讨论 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 和 URL 匹配的一些技术细节。</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#InternalAPI">API 阶段</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#InternalRuleset">规则集处理</a></li>
+</ul><h3>参见</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">模块文档</a></li><li><a href="intro.html">mod_rewrite 简介</a></li><li><a href="remapping.html">重定向和重映射</a></li><li><a href="access.html">访问控制</a></li><li><a href="vhosts.html">虚拟主机</a></li><li><a href="proxy.html">代理</a></li><li><a href="rewritemap.html">使用 RewriteMap</a></li><li><a href="advanced.html">高级技术</a></li><li><a href="avoid.html">何时不使用 mod_rewrite</a></li><li><a href="#comments_section">评论</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="InternalAPI" id="InternalAPI">API 阶段</a> <a title="Permanent link" href="#InternalAPI" class="permalink">¶</a></h2>
+
+ <p>Apache HTTP 服务器分多个阶段处理请求。在每个阶段,
+ 一个或多个模块可能被调用来处理请求生命周期的那个部分。
+ 这些阶段包括 URL 到文件名转换、身份验证、授权、内容和日志记录等。
+ (这不是一个详尽的列表。)</p>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 在其中两个阶段(或通常所说的"钩子")
+ 中起作用,以影响 URL 的重写方式。</p>
+
+ <p>首先,它使用 URL 到文件名转换钩子,该钩子在 HTTP
+ 请求被读取之后、但在任何授权开始之前触发。其次,它使用 Fixup 钩子,
+ 该钩子在授权阶段之后、在目录级配置文件(<code>.htaccess</code> 文件)
+ 被读取之后、但在内容处理程序被调用之前触发。</p>
+
+ <p>当请求进入并确定了对应的服务器或虚拟主机后,
+ 重写引擎开始处理出现在服务器级配置中的所有 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ 指令。(即在主服务器配置文件和 <code class="directive"><a href="../mod/core.html#virtualhost"><Virtualhost></a></code> 配置段中。)
+ 这发生在 URL 到文件名转换阶段。</p>
+
+ <p>几个步骤之后,一旦找到最终的数据目录,
+ 就会应用目录级配置指令(<code>.htaccess</code> 文件和 <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> 块)。
+ 这发生在 Fixup 阶段。</p>
+
+ <p>在每种情况下,<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 都会将
+ <code>REQUEST_URI</code> 重写为新的 URL 或文件名。</p>
+
+ <p>在目录级上下文中(即在 <code>.htaccess</code> 文件和
+ <code>Directory</code> 块中),这些规则在 URL
+ 已经被转换为文件名之后才被应用。因此,<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ 最初用来与 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+ 指令进行比较的 URL 路径是转换后的完整文件系统路径,
+ 其中当前目录路径(包括尾部斜杠)已从前面被移除。</p>
+
+ <p>举例来说:如果规则位于 /var/www/foo/.htaccess 中,
+ 正在处理对 /foo/bar/baz 的请求,则表达式 ^bar/baz$ 将会匹配。</p>
+
+ <p>如果在目录级上下文中进行了替换,将使用新的 URL
+ 发出新的内部子请求,重新开始请求阶段的处理。如果替换是相对路径,
+ <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>
+ 指令决定在替换前面添加的 URL 路径前缀。在目录级上下文中,
+ 必须注意创建的规则最终(在未来某轮目录级重写处理中)不会执行替换,
+ 以避免循环。(参见 <a href="https://cwiki.apache.org/confluence/display/httpd/RewriteLooping">RewriteLooping</a>
+ 以进一步讨论此问题。)</p>
+
+ <p>由于在目录级上下文中对 URL 进行了进一步操作,
+ 你需要注意在该上下文中以不同方式编写重写规则。特别要记住,
+ 前导目录路径将从你的重写规则所看到的 URL 中被去除。
+ 请参考下面的示例以进一步说明。</p>
+
+ <table class="bordered">
+
+ <tr>
+ <th>规则位置</th>
+ <th>规则</th>
+ </tr>
+
+ <tr>
+ <td>VirtualHost 配置段</td>
+ <td>RewriteRule "^/images/(.+)\.jpg" "/images/$1.gif"</td>
+ </tr>
+
+ <tr>
+ <td>文档根目录下的 .htaccess 文件</td>
+ <td>RewriteRule "^images/(.+)\.jpg" "images/$1.gif"</td>
+ </tr>
+
+ <tr>
+ <td>images 目录下的 .htaccess 文件</td>
+ <td>RewriteRule "^(.+)\.jpg" "$1.gif"</td>
+ </tr>
+
+ </table>
+
+ <p>要更深入地了解 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 如何在不同上下文中操作 URL,
+ 你应该查阅重写期间生成的<a href="../mod/mod_rewrite.html#logging">日志条目</a>。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="InternalRuleset" id="InternalRuleset">规则集处理</a> <a title="Permanent link" href="#InternalRuleset" class="permalink">¶</a></h2>
+
+ <p>现在当 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 在这两个 API 阶段被触发时,
+ 它从其配置结构中读取已配置的规则集(该配置结构在服务器级上下文中于启动时创建,
+ 或在目录级上下文中于 Apache 内核的目录遍历过程中创建)。
+ 然后使用包含的规则集(一条或多条规则及其条件)启动 URL 重写引擎。
+ URL 重写引擎本身的操作在两种配置上下文中完全相同。
+ 只有最终结果的处理方式不同。</p>
+
+ <p>规则集中规则的顺序很重要,因为重写引擎以一种特殊的(且不太直观的)
+ 顺序处理它们。规则如下:重写引擎逐条遍历规则集中的规则
+ (<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 指令),
+ 当某条规则匹配时,它会可选地遍历对应的条件
+ (<code>RewriteCond</code> 指令)。由于历史原因,
+ 条件写在前面,因此控制流程有点绕。参见图 1 了解更多细节。</p>
+<p class="figure">
+ <img src="../images/rewrite_process_uri.png" alt="RewriteRule 和 RewriteCond 匹配流程" /><br />
+ <dfn>图 1:</dfn>重写规则集的控制流程
+</p>
+ <p>首先,URL 与每条规则的<em>模式</em>进行匹配。如果匹配失败,
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 立即停止处理该规则,并继续处理下一条规则。
+ 如果<em>模式</em>匹配成功,<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ 会查找对应的规则条件(RewriteCond 指令,
+ 在配置中紧接在 RewriteRule 之前出现)。
+ 如果没有条件,则用从字符串<em>替换</em>构造的新值替换 URL,
+ 并继续其规则循环。但如果存在条件,则启动一个内部循环,
+ 按照条件列出的顺序处理它们。对于条件,逻辑是不同的:
+ 我们不是将模式与当前 URL 匹配。而是首先通过展开变量、
+ 反向引用、映射查找<em>等</em>来创建一个字符串 <em>TestString</em>,
+ 然后尝试将 <em>CondPattern</em> 与之匹配。如果模式不匹配,
+ 则整组条件和对应规则都失败。如果模式匹配,则处理下一个条件,
+ 直到没有更多条件为止。如果所有条件都匹配,
+ 则继续用<em>替换</em>替换 URL。</p>
+
+</div></div>
+<div class="bottomlang">
+<p><span>可用语言: </span><a href="../de/rewrite/tech.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/tech.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/tech.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/tech.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/tech.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/tech.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/tech.html" title="Simplified Chinese"> zh-cn </a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2026 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许可证.</p>
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<variant>de</variant>
<variant>en</variant>
<variant>es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant>ja</variant>
<variant>ko</variant>
<variant>tr</variant>
# GENERATED FROM XML -- DO NOT EDIT
+URI: vhosts.html.de
+Content-Language: de
+Content-type: text/html; charset=ISO-8859-1
+
URI: vhosts.html.en.utf8
Content-Language: en
Content-type: text/html; charset=UTF-8
+URI: vhosts.html.es.utf8
+Content-Language: es
+Content-type: text/html; charset=UTF-8
+
URI: vhosts.html.fr.utf8
Content-Language: fr
Content-type: text/html; charset=UTF-8
+
+URI: vhosts.html.ja.utf8
+Content-Language: ja
+Content-type: text/html; charset=UTF-8
+
+URI: vhosts.html.ko.euc-kr
+Content-Language: ko
+Content-type: text/html; charset=EUC-KR
+
+URI: vhosts.html.tr.utf8
+Content-Language: tr
+Content-type: text/html; charset=UTF-8
+
+URI: vhosts.html.zh-cn.utf8
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!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="de" xml:lang="de"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Dynamische Massen-Virtual-Hosts mit mod_rewrite - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Dynamische Massen-Virtual-Hosts mit mod_rewrite</h1>
+<div class="toplang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/vhosts.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>Dieses Dokument ergänzt die <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">Referenzdokumentation</a>. Es beschreibt,
+wie Sie <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> verwenden können, um dynamisch
+konfigurierte virtuelle Hosts zu erstellen.</p>
+
+<div class="warning"><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ist normalerweise nicht der beste Weg,
+um virtuelle Hosts zu konfigurieren. Sie sollten zuerst die
+<a href="../vhosts/mass.html">Alternativen</a> in Betracht ziehen, bevor
+Sie auf mod_rewrite zurückgreifen. Siehe auch das Dokument
+"<a href="avoid.html#vhosts">Wie man mod_rewrite vermeidet</a>".</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#per-hostname">Virtuelle Hosts für beliebige Hostnamen</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#simple.rewrite">Dynamische virtuelle Hosts mit
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#xtra-conf">Verwendung einer separaten Konfigurationsdatei für virtuelle Hosts</a></li>
+</ul><h3>Siehe auch</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Moduldokumentation</a></li><li><a href="intro.html">Einführung in mod_rewrite</a></li><li><a href="remapping.html">Umleitung und Neuzuordnung</a></li><li><a href="access.html">Zugriffskontrolle</a></li><li><a href="proxy.html">Proxying</a></li><li><a href="rewritemap.html">RewriteMap</a></li><li><a href="advanced.html">Fortgeschrittene Techniken</a></li><li><a href="avoid.html">Wann man mod_rewrite nicht verwenden sollte</a></li><li><a href="#comments_section">Kommentare</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="per-hostname" id="per-hostname">Virtuelle Hosts für beliebige Hostnamen</a> <a title="Permanent link" href="#per-hostname" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Beschreibung:</dt>
+
+ <dd>
+ <p>Wir möchten automatisch einen virtuellen Host für jeden Hostnamen
+ erstellen, der in unserer Domain aufgelöst wird, ohne für jeden
+ eine neue VirtualHost-Sektion erstellen zu müssen.</p>
+
+ <p>In diesem Rezept nehmen wir an, dass wir den Hostnamen
+ <code><strong>SITE</strong>.example.com</code> für jeden Benutzer
+ verwenden und deren Inhalte aus
+ <code>/home/<strong>SITE</strong>/www</code> ausliefern. Wir möchten
+ jedoch, dass <code>www.example.com</code> von dieser Zuordnung
+ ausgenommen wird.</p>
+ </dd>
+
+ <dt>Lösung:</dt>
+
+ <dd>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+RewriteCond %{HTTP_HOST} !^www\.
+RewriteCond ${lowercase:%{<strong>HTTP_HOST</strong>}} ^<strong>([^.]+)</strong>\.example\.com$
+RewriteRule ^(.*) /home/<strong>%1</strong>/www$1</pre>
+</dd>
+
+<dt>Diskussion</dt>
+ <dd>
+
+ <div class="warning">Sie müssen sich um die DNS-Auflösung kümmern -
+ Apache übernimmt keine Namensauflösung. Sie müssen entweder
+ CNAME-Einträge für jeden Hostnamen oder einen DNS-Wildcard-Eintrag
+ erstellen. Die Erstellung von DNS-Einträgen liegt außerhalb des
+ Umfangs dieses Dokuments.</div>
+
+<p>Die interne <code>tolower</code>-RewriteMap-Direktive wird verwendet,
+um sicherzustellen, dass alle verwendeten Hostnamen in Kleinbuchstaben
+sind, sodass keine Mehrdeutigkeit in der Verzeichnisstruktur entsteht,
+die erstellt werden muss.</p>
+
+<p>Klammern in einer <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+werden in die Rückreferenzen <code>%1</code>, <code>%2</code> usw.
+erfasst, während Klammern in <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+in die Rückreferenzen <code>$1</code>, <code>$2</code> usw. erfasst
+werden.</p>
+
+<p>Die erste <code>RewriteCond</code> prüft, ob der Hostname mit
+<code>www.</code> beginnt, und wenn ja, wird die Umschreibung
+übersprungen.</p>
+
+<p>
+Wie bei vielen in diesem Dokument besprochenen Techniken ist
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> wirklich nicht der beste Weg, um diese Aufgabe
+zu erledigen. Sie sollten stattdessen die Verwendung von
+<code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> in Betracht ziehen, da es alles jenseits
+der Auslieferung statischer Dateien wesentlich eleganter handhabt, wie
+dynamische Inhalte und Alias-Auflösung.
+</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="simple.rewrite" id="simple.rewrite">Dynamische virtuelle Hosts mit
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></a> <a title="Permanent link" href="#simple.rewrite" class="permalink">¶</a></h2>
+
+ <p>Dieser Auszug aus <code>httpd.conf</code> bewirkt dasselbe wie
+ <a href="#per-hostname">das erste Beispiel</a>. Die erste Hälfte
+ ist dem entsprechenden Teil oben sehr ähnlich, mit einigen
+ Änderungen, die für die Abwärtskompatibilität und die korrekte
+ Funktionsweise des <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>-Teils erforderlich
+ sind; die zweite Hälfte konfiguriert <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ für die eigentliche Arbeit.</p>
+
+ <p>Da <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> vor anderen URI-Übersetzungsmodulen
+ (z.B. <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>) läuft, muss <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ angewiesen werden, alle URLs, die von diesen Modulen verarbeitet
+ worden wären, explizit zu ignorieren. Und da diese Regeln ansonsten
+ alle <code>ScriptAlias</code>-Direktiven umgehen würden, müssen
+ wir <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> diese Zuordnungen explizit durchführen
+ lassen.</p>
+
+<pre class="prettyprint lang-config"># Den Servernamen aus dem Host:-Header ermitteln
+UseCanonicalName Off
+
+# Aufteilbare Protokolldateien
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog "logs/access_log" vcommon
+
+<Directory "/www/hosts">
+ # ExecCGI wird hier benötigt, da wir die CGI-Ausführung
+ # nicht so erzwingen können wie ScriptAlias es tut
+ Options FollowSymLinks ExecCGI
+</Directory>
+
+RewriteEngine On
+
+# Ein vom Host:-Header abgeleiteter ServerName kann beliebige Groß-/Kleinschreibung haben
+RewriteMap lowercase "int:tolower"
+
+## Zuerst normale Dokumente behandeln:
+# Alias /icons/ zulassen - für andere Aliase wiederholen
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+# CGIs zulassen
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+# Die Magie ausführen
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1"
+
+## Nun CGIs behandeln - wir müssen einen Handler erzwingen
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1" [H=cgi-script]</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="xtra-conf" id="xtra-conf">Verwendung einer separaten Konfigurationsdatei für virtuelle Hosts</a> <a title="Permanent link" href="#xtra-conf" class="permalink">¶</a></h2>
+
+ <p>Diese Anordnung verwendet fortgeschrittenere
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>-Funktionen, um die Übersetzung vom
+ virtuellen Host zum Document Root aus einer separaten
+ Konfigurationsdatei abzuleiten. Dies bietet mehr Flexibilität,
+ erfordert aber eine kompliziertere Konfiguration.</p>
+
+ <p>Die <code>vhost.map</code>-Datei sollte in etwa so aussehen:</p>
+
+<div class="example"><p><code>
+customer-1.example.com /www/customers/1<br />
+customer-2.example.com /www/customers/2<br />
+# ...<br />
+customer-N.example.com /www/customers/N<br />
+</code></p></div>
+
+ <p>Die <code>httpd.conf</code> sollte Folgendes enthalten:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+RewriteMap lowercase "int:tolower"
+
+# Die Map-Datei definieren
+RewriteMap vhost "txt:/www/conf/vhost.map"
+
+# Aliase wie oben behandeln
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+# Dies führt die dateibasierte Neuzuordnung durch
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/(.*)$" "%1/docs/$1"
+
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/cgi-bin/(.*)$" "%1/cgi-bin/$1" [H=cgi-script]</pre>
+
+
+</div></div>
+<div class="bottomlang">
+<p><span>Verfügbare Sprachen: </span><a href="../de/rewrite/vhosts.html" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.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 />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/quickreference.html">Direktiven</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Dynamic mass virtual hosts with mod_rewrite</h1>
<div class="toplang">
-<p><span>Available Languages: </span><a href="../en/rewrite/vhosts.html" title="English"> en </a> |
-<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/vhosts.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
</div></div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/rewrite/vhosts.html" title="English"> en </a> |
-<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
+<p><span>Available Languages: </span><a href="../de/rewrite/vhosts.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="es" xml:lang="es"><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>Hosts virtuales masivos dinámicos con mod_rewrite - Servidor HTTP Apache Versión 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p>
+<p class="apache">Versión 2.5 del Servidor HTTP Apache</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/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Hosts virtuales masivos dinámicos con mod_rewrite</h1>
+<div class="toplang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/vhosts.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>Este documento complementa la <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">documentación de referencia</a>. Describe
+cómo puede usar <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> para crear hosts virtuales
+configurados dinámicamente.</p>
+
+<div class="warning"><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> generalmente no es la mejor forma de configurar
+hosts virtuales. Debería considerar primero las <a href="../vhosts/mass.html">alternativas</a> antes de recurrir a
+mod_rewrite. Vea también el documento "<a href="avoid.html#vhosts">cómo evitar
+mod_rewrite</a>".</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#per-hostname">Hosts Virtuales para Nombres de Host Arbitrarios</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#simple.rewrite">Hosts Virtuales
+ Dinámicos Usando <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#xtra-conf">Usando un Archivo de Configuración de Host Virtual Separado</a></li>
+</ul><h3>Consulte también</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentación del módulo</a></li><li><a href="intro.html">Introducción a mod_rewrite</a></li><li><a href="remapping.html">Redirección y remapeo</a></li><li><a href="access.html">Control de acceso</a></li><li><a href="proxy.html">Proxy</a></li><li><a href="rewritemap.html">RewriteMap</a></li><li><a href="advanced.html">Técnicas avanzadas</a></li><li><a href="avoid.html">Cuándo no usar mod_rewrite</a></li><li><a href="#comments_section">Comentarios</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="per-hostname" id="per-hostname">Hosts Virtuales para Nombres de Host Arbitrarios</a> <a title="Enlace permanente" href="#per-hostname" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Descripción:</dt>
+
+ <dd>
+ <p>Queremos crear automáticamente un host virtual para cada nombre de host
+ que resuelva en nuestro dominio, sin tener que crear
+ nuevas secciones VirtualHost.</p>
+
+ <p>En esta receta, asumimos que usaremos el nombre de host
+ <code><strong>SITIO</strong>.example.com</code> para cada
+ usuario, y serviremos su contenido desde
+ <code>/home/<strong>SITIO</strong>/www</code>. Sin embargo, queremos
+ que <code>www.example.com</code> sea omitido de este mapeo.</p>
+ </dd>
+
+ <dt>Solución:</dt>
+
+ <dd>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+RewriteCond %{HTTP_HOST} !^www\.
+RewriteCond ${lowercase:%{<strong>HTTP_HOST</strong>}} ^<strong>([^.]+)</strong>\.example\.com$
+RewriteRule ^(.*) /home/<strong>%1</strong>/www$1</pre>
+</dd>
+
+<dt>Discusión</dt>
+ <dd>
+
+ <div class="warning">Necesitará encargarse de la resolución DNS
+ - Apache no maneja la resolución de nombres. Necesitará crear registros CNAME
+ para cada nombre de host, o un registro DNS comodín. La creación de registros DNS
+ está fuera del alcance de este documento.</div>
+
+<p>La directiva interna <code>tolower</code> de RewriteMap se usa para
+asegurar que los nombres de host que se usen estén todos en minúsculas, de modo que no haya
+ambigüedad en la estructura de directorios que debe crearse.</p>
+
+<p>Los paréntesis usados en una <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> se capturan en las
+referencias inversas <code>%1</code>, <code>%2</code>, etc, mientras que los paréntesis
+usados en <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> se
+capturan en las referencias inversas <code>$1</code>, <code>$2</code>,
+etc.</p>
+
+<p>La primera <code>RewriteCond</code> verifica si el nombre de host
+comienza con <code>www.</code>, y si es así, la reescritura se
+omite.</p>
+
+<p>
+Como con muchas técnicas discutidas en este documento, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> realmente
+no es la mejor forma de lograr esta tarea. Debería, en su lugar,
+considerar usar <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>, ya que manejará
+mucho más elegantemente cualquier cosa más allá de servir archivos estáticos, como cualquier
+contenido dinámico, y resolución de Alias.
+</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="simple.rewrite" id="simple.rewrite">Hosts Virtuales
+ Dinámicos Usando <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></a> <a title="Enlace permanente" href="#simple.rewrite" class="permalink">¶</a></h2>
+
+ <p>Este extracto de <code>httpd.conf</code> hace lo mismo
+ que <a href="#per-hostname">el primer ejemplo</a>. La primera
+ mitad es muy similar a la parte correspondiente anterior, excepto por
+ algunos cambios, necesarios para compatibilidad hacia atrás y para hacer que la
+ parte de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> funcione correctamente; la segunda mitad
+ configura <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> para hacer el trabajo real.</p>
+
+ <p>Debido a que <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> se ejecuta antes que otros módulos de traducción
+ de URI (por ejemplo, <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>), se le debe decir a <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ que ignore explícitamente cualquier URL que hubiera sido manejada
+ por esos módulos. Y, debido a que estas reglas de lo contrario evitarían
+ cualquier directiva <code>ScriptAlias</code>, debemos hacer que
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ejecute explícitamente esos mapeos.</p>
+
+<pre class="prettyprint lang-config"># get the server name from the Host: header
+UseCanonicalName Off
+
+# splittable logs
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog "logs/access_log" vcommon
+
+<Directory "/www/hosts">
+ # ExecCGI is needed here because we can't force
+ # CGI execution in the way that ScriptAlias does
+ Options FollowSymLinks ExecCGI
+</Directory>
+
+RewriteEngine On
+
+# a ServerName derived from a Host: header may be any case at all
+RewriteMap lowercase "int:tolower"
+
+## deal with normal documents first:
+# allow Alias /icons/ to work - repeat for other aliases
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+# allow CGIs to work
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+# do the magic
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1"
+
+## and now deal with CGIs - we have to force a handler
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1" [H=cgi-script]</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="xtra-conf" id="xtra-conf">Usando un Archivo de Configuración de Host Virtual Separado</a> <a title="Enlace permanente" href="#xtra-conf" class="permalink">¶</a></h2>
+
+ <p>Este arreglo usa características más avanzadas de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ para determinar la traducción de host virtual a raíz de documento,
+ desde un archivo de configuración separado. Esto proporciona más
+ flexibilidad, pero requiere una configuración más complicada.</p>
+
+ <p>El archivo <code>vhost.map</code> debería verse algo como
+ esto:</p>
+
+<div class="example"><p><code>
+customer-1.example.com /www/customers/1<br />
+customer-2.example.com /www/customers/2<br />
+# ...<br />
+customer-N.example.com /www/customers/N<br />
+</code></p></div>
+
+ <p>El <code>httpd.conf</code> debería contener lo siguiente:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+RewriteMap lowercase "int:tolower"
+
+# define the map file
+RewriteMap vhost "txt:/www/conf/vhost.map"
+
+# deal with aliases as above
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+# this does the file-based remap
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/(.*)$" "%1/docs/$1"
+
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/cgi-bin/(.*)$" "%1/cgi-bin/$1" [H=cgi-script]</pre>
+
+
+</div></div>
+<div class="bottomlang">
+<p><span>Idiomas disponibles: </span><a href="../de/rewrite/vhosts.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.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 />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Hébergement virtuel de masse avec mod_rewrite</h1>
<div class="toplang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/vhosts.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/vhosts.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
</div></div>
<div class="bottomlang">
-<p><span>Langues Disponibles: </span><a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/vhosts.html" title="Français"> fr </a></p>
+<p><span>Langues Disponibles: </span><a href="../de/rewrite/vhosts.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.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 />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
--- /dev/null
+<?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="ja" xml:lang="ja"><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>mod_rewrite を使った動的な大量バーチャルホスト - Apache HTTP サーバ バージョン 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
+<p class="apache">Apache HTTP サーバ バージョン 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite を使った動的な大量バーチャルホスト</h1>
+<div class="toplang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/vhosts.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>このドキュメントは <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">リファレンスドキュメント</a>を補足するものです。
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> を使用して動的に設定されるバーチャルホストを
+作成する方法を説明します。</p>
+
+<div class="warning"><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> は通常、バーチャルホストを
+設定する最良の方法ではありません。mod_rewrite に頼る前に、まず
+<a href="../vhosts/mass.html">代替手段</a>を検討してください。
+「<a href="avoid.html#vhosts">mod_rewrite を避ける方法</a>」ドキュメントも
+参照してください。</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#per-hostname">任意のホスト名に対するバーチャルホスト</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#simple.rewrite"><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ を使った動的バーチャルホスト</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#xtra-conf">個別のバーチャルホスト設定ファイルの使用</a></li>
+</ul><h3>参照</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">モジュールドキュメント</a></li><li><a href="intro.html">mod_rewrite 入門</a></li><li><a href="remapping.html">リダイレクトとリマッピング</a></li><li><a href="access.html">アクセス制御</a></li><li><a href="proxy.html">プロキシ</a></li><li><a href="rewritemap.html">RewriteMap</a></li><li><a href="advanced.html">高度なテクニック</a></li><li><a href="avoid.html">mod_rewrite を使わない場合</a></li><li><a href="#comments_section">コメント</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="per-hostname" id="per-hostname">任意のホスト名に対するバーチャルホスト</a> <a title="Permanent link" href="#per-hostname" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>説明:</dt>
+
+ <dd>
+ <p>ドメイン内で解決されるすべてのホスト名に対して、新しい
+ VirtualHost セクションを作成することなく、自動的にバーチャルホストを
+ 作成したいとします。</p>
+
+ <p>このレシピでは、各ユーザに対してホスト名
+ <code><strong>SITE</strong>.example.com</code> を使用し、
+ コンテンツを <code>/home/<strong>SITE</strong>/www</code> から
+ 提供すると仮定しています。ただし、<code>www.example.com</code> は
+ このマッピングから除外したいとします。</p>
+ </dd>
+
+ <dt>解決方法:</dt>
+
+ <dd>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+RewriteCond %{HTTP_HOST} !^www\.
+RewriteCond ${lowercase:%{<strong>HTTP_HOST</strong>}} ^<strong>([^.]+)</strong>\.example\.com$
+RewriteRule ^(.*) /home/<strong>%1</strong>/www$1</pre>
+</dd>
+
+<dt>議論</dt>
+ <dd>
+
+ <div class="warning">DNS 解決に注意する必要があります - Apache は
+ 名前解決を処理しません。各ホスト名の CNAME レコードか、DNS
+ ワイルドカードレコードを作成する必要があります。DNS レコードの
+ 作成はこのドキュメントの範囲外です。</div>
+
+<p>内部 <code>tolower</code> RewriteMap ディレクティブは、使用される
+ホスト名がすべて小文字であることを保証し、作成すべきディレクトリ構造に
+曖昧さがないようにします。</p>
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> で使用される
+括弧はバックリファレンス <code>%1</code>、<code>%2</code> 等に
+キャプチャされ、<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+で使用される括弧はバックリファレンス <code>$1</code>、<code>$2</code>
+等にキャプチャされます。</p>
+
+<p>最初の <code>RewriteCond</code> は、ホスト名が <code>www.</code> で
+始まるかどうかを確認し、始まる場合は書き換えがスキップされます。</p>
+
+<p>
+このドキュメントで説明されている多くのテクニックと同様に、
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> はこのタスクを達成する最良の方法では
+ありません。代わりに <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> の使用を検討して
+ください。静的ファイルの提供以外のこと、例えば動的コンテンツや
+Alias の解決をはるかに優雅に処理できます。
+</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="simple.rewrite" id="simple.rewrite"><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ を使った動的バーチャルホスト</a> <a title="Permanent link" href="#simple.rewrite" class="permalink">¶</a></h2>
+
+ <p>この <code>httpd.conf</code> からの抜粋は、
+ <a href="#per-hostname">最初の例</a>と同じことを行います。
+ 前半は上記の対応する部分と非常に似ていますが、後方互換性のため、
+ および <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 部分が正しく動作するように
+ いくつかの変更が加えられています。後半は <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ に実際の作業を設定します。</p>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> は他の URI 変換モジュール
+ (例: <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>) よりも前に実行されるため、
+ それらのモジュールで処理されるはずの URL を明示的に無視するように
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> に指示する必要があります。また、これらの
+ ルールは <code>ScriptAlias</code> ディレクティブをバイパスするため、
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> にそれらのマッピングを明示的に実行させる
+ 必要があります。</p>
+
+<pre class="prettyprint lang-config"># get the server name from the Host: header
+UseCanonicalName Off
+
+# splittable logs
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog "logs/access_log" vcommon
+
+<Directory "/www/hosts">
+ # ExecCGI is needed here because we can't force
+ # CGI execution in the way that ScriptAlias does
+ Options FollowSymLinks ExecCGI
+</Directory>
+
+RewriteEngine On
+
+# a ServerName derived from a Host: header may be any case at all
+RewriteMap lowercase "int:tolower"
+
+## deal with normal documents first:
+# allow Alias /icons/ to work - repeat for other aliases
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+# allow CGIs to work
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+# do the magic
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1"
+
+## and now deal with CGIs - we have to force a handler
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1" [H=cgi-script]</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="xtra-conf" id="xtra-conf">個別のバーチャルホスト設定ファイルの使用</a> <a title="Permanent link" href="#xtra-conf" class="permalink">¶</a></h2>
+
+ <p>この構成では、<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> のより高度な機能を使用して、
+ 個別の設定ファイルからバーチャルホストのドキュメントルートへの
+ 変換を行います。これにより柔軟性が高まりますが、より複雑な設定が
+ 必要になります。</p>
+
+ <p><code>vhost.map</code> ファイルは次のようになります:</p>
+
+<div class="example"><p><code>
+customer-1.example.com /www/customers/1<br />
+customer-2.example.com /www/customers/2<br />
+# ...<br />
+customer-N.example.com /www/customers/N<br />
+</code></p></div>
+
+ <p><code>httpd.conf</code> には以下を含める必要があります:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+RewriteMap lowercase "int:tolower"
+
+# define the map file
+RewriteMap vhost "txt:/www/conf/vhost.map"
+
+# deal with aliases as above
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+# this does the file-based remap
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/(.*)$" "%1/docs/$1"
+
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/cgi-bin/(.*)$" "%1/cgi-bin/$1" [H=cgi-script]</pre>
+
+
+</div></div>
+<div class="bottomlang">
+<p><span>翻訳済み言語: </span><a href="../de/rewrite/vhosts.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.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="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
+<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/quickreference.html">ディレクティブ</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="EUC-KR"?>
+<!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="ko" xml:lang="ko"><head>
+<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_rewriteë¥� �¬ì�©í�� ���� ���� ê°��� �¸ì�¤í�� - Apache HTTP Server Version 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p>
+<p class="apache">Apache HTTP Server Version 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewriteë¥� �¬ì�©í�� ���� ���� ê°��� �¸ì�¤í��</h1>
+<div class="toplang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/vhosts.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>�� 문��� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">참조 문ì��</a>ë¥� ë³´ì¶©�©ë����.
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ë¥� �¬ì�©í���� �����¼ë� 구ì�±ë��
+ê°��� �¸ì�¤í�¸ë�� ë§����� ë°©ë��� �¤ë��©ë����.</p>
+
+<div class="warning"><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� ë³´í�� ê°��� �¸ì�¤í�¸ë��
+구���� ����� 방�� ��������. mod_rewrite�� ��존�� ����
+먼ì�� <a href="../vhosts/mass.html">����</a>�� ê³��¤í�´ì�� �©ë����.
+"<a href="avoid.html#vhosts">mod_rewriteë¥� �¼í���� ë°©ë�</a>"
+문��� 참조��������.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#per-hostname">���� �¸ì�¤í�¸ë��� ���� ê°��� �¸ì�¤í��</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#simple.rewrite"><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�
+ �¬ì�©í�� ���� ê°��� �¸ì�¤í��</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#xtra-conf">ë³����� ê°��� �¸ì�¤í�� �¤ì�� ���� �¬ì��</a></li>
+</ul><h3>Âü°í</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">모ë�� 문ì��</a></li><li><a href="intro.html">mod_rewrite ��ê°�</a></li><li><a href="remapping.html">리ë�¤ì�´ë����ê³� �¬ë§¤��</a></li><li><a href="access.html">��ê·� ����</a></li><li><a href="proxy.html">��ë¡���</a></li><li><a href="rewritemap.html">RewriteMap</a></li><li><a href="advanced.html">ê³�ê¸� 기ì��</a></li><li><a href="avoid.html">mod_rewriteë¥� �¬ì�©í��ì§� ë§����� �� ê²½ì��</a></li><li><a href="#comments_section">Comments</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="per-hostname" id="per-hostname">���� �¸ì�¤í�¸ë��� ���� ê°��� �¸ì�¤í��</a> <a title="Permanent link" href="#per-hostname" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>�¤ë�:</dt>
+
+ <dd>
+ <p>��ë¡��� VirtualHost �¹ì���� ë§��¤ì� ��ê³� ��ë©��¸ì����
+ �´ì������ 모ë�� �¸ì�¤í�¸ë��� ���� �����¼ë� ê°��� �¸ì�¤í�¸ë��
+ ë§��¤ê��� �©ë����.</p>
+
+ <p>�� �����¼ì������ ê°� �¬ì�©ì���� ���� �¸ì�¤í�¸ë�
+ <code><strong>SITE</strong>.example.com</code>�� �¬ì�©í��ê³�
+ <code>/home/<strong>SITE</strong>/www</code>���� �����
+ ��ê³µí���¤ê� ê°����©ë����. ê·¸ë�¬ë��
+ <code>www.example.com</code>�� �� 매í������ ���¸í��ê³���
+ �©ë����.</p>
+ </dd>
+
+ <dt>�´ê²°ì±�:</dt>
+
+ <dd>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+RewriteCond %{HTTP_HOST} !^www\.
+RewriteCond ${lowercase:%{<strong>HTTP_HOST</strong>}} ^<strong>([^.]+)</strong>\.example\.com$
+RewriteRule ^(.*) /home/<strong>%1</strong>/www$1</pre>
+</dd>
+
+<dt>���</dt>
+ <dd>
+
+ <div class="warning">DNS �´ì���� ì§��� ê´�리í�´ì�� �©ë���� -
+ Apache�� �´ë� �´ì���� ì²�리í��ì§� ���µë����. ê°� �¸ì�¤í�¸ë���
+ ���� CNAME ��ì½��� ���� DNS ���¼ë��ì¹´ë�� ��ì½���ë¥�
+ ë§��¤ì�´ì�� �©ë����. DNS ��ì½��� ���±ì�� �� 문ì���� ë²���ë¥�
+ ë²��´ë�©ë����.</div>
+
+<p>�´ë� <code>tolower</code> RewriteMap ì§����´ë�� �¬ì�©ë����
+�¸ì�¤í�¸ë��� 모ë�� ��문ì���¸ì� ���¸í���� ���±í�´ì�� ���� ������ë¦�
+구조�� 모í�¸í�¨ì�� ����ë¡� �©ë����.</p>
+
+<p><code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>����
+�¬ì�©ë�� ê´��¸ë�� ��참조 <code>%1</code>, <code>%2</code> �±ì�¼ë�
+캡���, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>����
+�¬ì�©ë�� ê´��¸ë�� ��참조 <code>$1</code>, <code>$2</code> �±ì�¼ë�
+캡ì��©ë����.</p>
+
+<p>ì²� ë²�ì§� <code>RewriteCond</code>�� �¸ì�¤í�¸ë���
+<code>www.</code>ë¡� ��������ì§� ���¸í��ê³�, ê·¸ë���¤ë©´ �¬ì���±ì��
+ê±´ë���°ì�´ì�����.</p>
+
+<p>
+�� 문ì������ �¼ì���� ë§��� 기ì��ê³� ë§�ì°¬ê�ì§�ë¡�,
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� �¤ì��ë¡� �� ������ ��������
+����� 방�� ��������. ���� <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>
+�¬ì�©ì�� ê³��¤í�´ì�� �©ë����. �� 모ë���� ���� ì½���ì¸��� Alias
+�´ì�� �� ���� ���� ��ê³� �´ì���� 모ë�� ê²��� �¨ì�� �� �°ì����ê²�
+�리����.
+</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="simple.rewrite" id="simple.rewrite"><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�
+ �¬ì�©í�� ���� ê°��� �¸ì�¤í��</a> <a title="Permanent link" href="#simple.rewrite" class="permalink">¶</a></h2>
+
+ <p><code>httpd.conf</code>������ �� ����
+ <a href="#per-hostname">ì²� ë²�ì§� ����</a>�� ���¼í�� ������
+ �����©ë����. ��ë°�ë¶��� ���� �´ë�� ë¶�ë¶�ê³� 매ì�� ���¬í��ì§�ë§�
+ ���� �¸í���±ì�� ���� 그리ê³� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ ë¶�ë¶��� �¬ë�르ê� ��������ë¡� ������ �¼ë� ë³�ê²½ì�� ���µë����.
+ ��ë°�ë¶��� �¤ì�� ������ ��������ë¡�
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>� 구�����.</p>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>�� �¤ë¥¸ URI ë³��� 모ë��(��:
+ <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>) ���� �¤í����ë¯�ë¡�,
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>��� 그�� 모��� �리���
+ URL�� ëª������¼ë� 무ì������ë¡� ì§����´ì�� �©ë����. ���� ��
+ ê·�ì¹��� <code>ScriptAlias</code> ì§����´ë�� �°í����ë¯�ë¡�
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>ê°� �´ë�¬í�� 매í���� ëª������¼ë�
+ ��������ë¡� �´ì�� �©ë����.</p>
+
+<pre class="prettyprint lang-config"># get the server name from the Host: header
+UseCanonicalName Off
+
+# splittable logs
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog "logs/access_log" vcommon
+
+<Directory "/www/hosts">
+ # ExecCGI is needed here because we can't force
+ # CGI execution in the way that ScriptAlias does
+ Options FollowSymLinks ExecCGI
+</Directory>
+
+RewriteEngine On
+
+# a ServerName derived from a Host: header may be any case at all
+RewriteMap lowercase "int:tolower"
+
+## deal with normal documents first:
+# allow Alias /icons/ to work - repeat for other aliases
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+# allow CGIs to work
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+# do the magic
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1"
+
+## and now deal with CGIs - we have to force a handler
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1" [H=cgi-script]</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="xtra-conf" id="xtra-conf">ë³����� ê°��� �¸ì�¤í�� �¤ì�� ���� �¬ì��</a> <a title="Permanent link" href="#xtra-conf" class="permalink">¶</a></h2>
+
+ <p>�� 배�� �� �� <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 기��
+ �¬ì�©í���� ë³����� �¤ì�� ���¼ì���� ê°��� �¸ì�¤í�¸ì���� 문ì��
+ 루í�¸ë��� ë³����� �����©ë����. �´ë�� �� ë§��� ���°ì�±ì��
+ ��ê³µí��ì§�ë§� �� ë³µì�¡í�� �¤ì���� �����©ë����.</p>
+
+ <p><code>vhost.map</code> ���¼ì�� �¤ì��ê³� ê°��� �����¬ì��
+ �©ë����:</p>
+
+<div class="example"><p><code>
+customer-1.example.com /www/customers/1<br />
+customer-2.example.com /www/customers/2<br />
+# ...<br />
+customer-N.example.com /www/customers/N<br />
+</code></p></div>
+
+ <p><code>httpd.conf</code>���� �¤ì���� �¬í�¨ë���´ì��
+ �©ë����:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+RewriteMap lowercase "int:tolower"
+
+# define the map file
+RewriteMap vhost "txt:/www/conf/vhost.map"
+
+# deal with aliases as above
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+# this does the file-based remap
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/(.*)$" "%1/docs/$1"
+
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/cgi-bin/(.*)$" "%1/cgi-bin/$1" [H=cgi-script]</pre>
+
+
+</div></div>
+<div class="bottomlang">
+<p><span>°¡´ÉÇÑ ¾ð¾î: </span><a href="../de/rewrite/vhosts.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.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 />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">¸ðµâ</a> | <a href="../mod/quickreference.html">Áö½Ã¾îµé</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">¿ë¾î</a> | <a href="../sitemap.html">»çÀÌÆ®¸Ê</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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>mod_rewrite ile Devingen Kitlesel Sanal Konaklar - 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" type="text/javascript">
+</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></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="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.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>mod_rewrite ile Devingen Kitlesel Sanal Konaklar</h1>
+<div class="toplang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/vhosts.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
+</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.
+Devingen olarak yapılandırılmış sanal konaklar oluşturmak için
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülünü nasıl kullanabileceğinizi
+açıklar.</p>
+
+<div class="warning"><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, sanal konakları
+yapılandırmanın genellikle en iyi yolu değildir. mod_rewrite'a
+başvurmadan önce <a href="../vhosts/mass.html">alternatifleri</a>
+değerlendirmelisiniz. Ayrıca "<a href="avoid.html#vhosts">mod_rewrite
+kullanmaktan nasıl kaçınılır</a>" belgesine de bakın.</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#per-hostname">Keyfi Konak Adları için Sanal Konaklar</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#simple.rewrite"><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ Kullanılarak Devingen Sanal Konaklar</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#xtra-conf">Ayrı Bir Sanal Konak Yapılandırma Dosyası Kullanımı</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="intro.html">mod_rewrite'a giriş</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="proxy.html">Vekil kullanımı</a></li><li><a href="rewritemap.html">RewriteMap</a></li><li><a href="advanced.html">İleri teknikler</a></li><li><a href="avoid.html">mod_rewrite kullanılmaması gereken durumlar</a></li><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="per-hostname" id="per-hostname">Keyfi Konak Adları için Sanal Konaklar</a> <a title="Permanent link" href="#per-hostname" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>Açıklama:</dt>
+
+ <dd>
+ <p>Alan adımızda çözümlenen her konak adı için, yeni VirtualHost
+ bölümleri oluşturmak zorunda kalmadan otomatik olarak bir sanal
+ konak oluşturmak istiyoruz.</p>
+
+ <p>Bu tarifle, her kullanıcı için
+ <code><strong>SITE</strong>.example.com</code> konak adını
+ kullanacağımızı ve içeriklerini
+ <code>/home/<strong>SITE</strong>/www</code> dizininden
+ sunacağımızı varsayıyoruz. Ancak
+ <code>www.example.com</code>'u bu eşlemeden hariç tutmak
+ istiyoruz.</p>
+ </dd>
+
+ <dt>Çözüm:</dt>
+
+ <dd>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+RewriteCond %{HTTP_HOST} !^www\.
+RewriteCond ${lowercase:%{<strong>HTTP_HOST</strong>}} ^<strong>([^.]+)</strong>\.example\.com$
+RewriteRule ^(.*) /home/<strong>%1</strong>/www$1</pre>
+</dd>
+
+<dt>Tartışma</dt>
+ <dd>
+
+ <div class="warning">DNS çözümlemesine dikkat etmeniz
+ gerekecektir - Apache ad çözümlemesini üstlenmez. Her konak adı
+ için CNAME kayıtları veya bir DNS joker kaydı oluşturmanız
+ gerekecektir. DNS kayıtları oluşturmak bu belgenin kapsamı
+ dışındadır.</div>
+
+<p>Kullanılan konak adlarının tümünün küçük harf olmasını sağlamak
+için dahili <code>tolower</code> RewriteMap yönergesi kullanılır;
+böylece oluşturulması gereken dizin yapısında belirsizlik olmaz.</p>
+
+<p>Bir <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+içinde kullanılan parantezler <code>%1</code>, <code>%2</code> vb.
+geri başvurulara yakalanırken, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> içinde kullanılan
+parantezler <code>$1</code>, <code>$2</code> vb. geri başvurulara
+yakalanır.</p>
+
+<p>İlk <code>RewriteCond</code>, konak adının <code>www.</code> ile
+başlayıp başlamadığını kontrol eder ve başlıyorsa yeniden yazma
+atlanır.</p>
+
+<p>
+Bu belgede tartışılan birçok teknikte olduğu gibi, bu görevi
+gerçekleştirmek için <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> gerçekten en iyi
+yol değildir. Bunun yerine, statik dosyaların sunulmasının ötesinde
+devingen içerik ve Alias çözümlemesi gibi şeyleri çok daha zarif bir
+şekilde ele alacak olan <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> kullanmayı
+düşünmelisiniz.
+</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="simple.rewrite" id="simple.rewrite"><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ Kullanılarak Devingen Sanal Konaklar</a> <a title="Permanent link" href="#simple.rewrite" class="permalink">¶</a></h2>
+
+ <p>Bu <code>httpd.conf</code> alıntısı, <a href="#per-hostname">ilk örnekle</a> aynı şeyi yapar. İlk yarısı
+ yukarıdaki karşılık gelen bölüme çok benzer; ancak geriye dönük
+ uyumluluk ve <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> bölümünün düzgün
+ çalışması için gereken bazı değişiklikler yapılmıştır; ikinci
+ yarısı ise <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülünü asıl işi yapacak
+ şekilde yapılandırır.</p>
+
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, diğer URI çeviri modüllerinden
+ (örneğin <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>) önce çalıştığından,
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülüne bu modüller tarafından
+ işlenecek URL'leri açıkça yok sayması söylenmelidir. Ve bu
+ kurallar aksi takdirde <code>ScriptAlias</code> yönergelerini
+ atlayacağından, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> modülünün bu
+ eşlemeleri açıkça uygulaması gerekir.</p>
+
+<pre class="prettyprint lang-config"># Konak adını Host: başlığından al
+UseCanonicalName Off
+
+# bölünebilir günlükler
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog "logs/access_log" vcommon
+
+<Directory "/www/hosts">
+ # ScriptAlias'ın yaptığı gibi CGI yürütmesini
+ # zorlayamadığımız için burada ExecCGI gereklidir
+ Options FollowSymLinks ExecCGI
+</Directory>
+
+RewriteEngine On
+
+# bir Host: başlığından türetilen ServerName herhangi bir durumda olabilir
+RewriteMap lowercase "int:tolower"
+
+## önce normal belgeleri ele al:
+# Alias /icons/ çalışmasına izin ver - diğer takma adlar için tekrarla
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+# CGI'lerin çalışmasına izin ver
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+# sihri yap
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1"
+
+## şimdi CGI'lerle ilgilen - bir işleyici zorlamalıyız
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1" [H=cgi-script]</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="xtra-conf" id="xtra-conf">Ayrı Bir Sanal Konak Yapılandırma Dosyası Kullanımı</a> <a title="Permanent link" href="#xtra-conf" class="permalink">¶</a></h2>
+
+ <p>Bu düzenleme, sanal konaktan belge köküne çeviriyi ayrı bir
+ yapılandırma dosyasından çözmek için daha gelişmiş
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> özelliklerini kullanır. Bu daha fazla
+ esneklik sağlar ancak daha karmaşık yapılandırma gerektirir.</p>
+
+ <p><code>vhost.map</code> dosyası şöyle görünmelidir:</p>
+
+<div class="example"><p><code>
+customer-1.example.com /www/customers/1<br />
+customer-2.example.com /www/customers/2<br />
+# ...<br />
+customer-N.example.com /www/customers/N<br />
+</code></p></div>
+
+ <p><code>httpd.conf</code> dosyası şunları içermelidir:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+RewriteMap lowercase "int:tolower"
+
+# eşlem dosyasını tanımla
+RewriteMap vhost "txt:/www/conf/vhost.map"
+
+# takma adlarla yukarıdaki gibi ilgilen
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+# dosya tabanlı yeniden eşlemeyi yap
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/(.*)$" "%1/docs/$1"
+
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/cgi-bin/(.*)$" "%1/cgi-bin/$1" [H=cgi-script]</pre>
+
+
+</div></div>
+<div class="bottomlang">
+<p><span>Mevcut Diller: </span><a href="../de/rewrite/vhosts.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.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="http://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></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?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="zh-cn" xml:lang="zh-cn"><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>使用 mod_rewrite 实现动态批量虚拟主机 - Apache HTTP 服务器 版本 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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.png" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p>
+<p class="apache">Apache HTTP 服务器版本 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="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP 服务器</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="../">版本 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>使用 mod_rewrite 实现动态批量虚拟主机</h1>
+<div class="toplang">
+<p><span>可用语言: </span><a href="../de/rewrite/vhosts.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.html" title="Simplified Chinese"> zh-cn </a></p>
+</div>
+
+
+<p>本文档是 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+<a href="../mod/mod_rewrite.html">参考文档</a>的补充。它描述了如何使用
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 来创建动态配置的虚拟主机。</p>
+
+<div class="warning"><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 通常不是配置虚拟主机的最佳方式。
+你应该首先考虑<a href="../vhosts/mass.html">其他替代方案</a>,
+然后再求助于 mod_rewrite。另请参阅"<a href="avoid.html#vhosts">如何避免使用
+mod_rewrite</a>"文档。</div>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#per-hostname">任意主机名的虚拟主机</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#simple.rewrite">使用
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 的动态虚拟主机</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#xtra-conf">使用独立的虚拟主机配置文件</a></li>
+</ul><h3>参见</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">模块文档</a></li><li><a href="intro.html">mod_rewrite 简介</a></li><li><a href="remapping.html">重定向和重映射</a></li><li><a href="access.html">访问控制</a></li><li><a href="proxy.html">代理</a></li><li><a href="rewritemap.html">RewriteMap</a></li><li><a href="advanced.html">高级技术</a></li><li><a href="avoid.html">何时不使用 mod_rewrite</a></li><li><a href="#comments_section">评论</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="per-hostname" id="per-hostname">任意主机名的虚拟主机</a> <a title="Permanent link" href="#per-hostname" class="permalink">¶</a></h2>
+
+
+
+ <dl>
+ <dt>描述:</dt>
+
+ <dd>
+ <p>我们希望为域中解析的每个主机名自动创建虚拟主机,
+ 而无需创建新的 VirtualHost 配置段。</p>
+
+ <p>在本配置方案中,我们假设对每个用户使用主机名
+ <code><strong>SITE</strong>.example.com</code>,
+ 并从 <code>/home/<strong>SITE</strong>/www</code> 提供其内容。
+ 但是,我们希望 <code>www.example.com</code> 不包含在此映射中。</p>
+ </dd>
+
+ <dt>解决方案:</dt>
+
+ <dd>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+RewriteCond %{HTTP_HOST} !^www\.
+RewriteCond ${lowercase:%{<strong>HTTP_HOST</strong>}} ^<strong>([^.]+)</strong>\.example\.com$
+RewriteRule ^(.*) /home/<strong>%1</strong>/www$1</pre>
+</dd>
+
+<dt>讨论</dt>
+ <dd>
+
+ <div class="warning">你需要注意 DNS 解析 - Apache
+ 不处理名称解析。你需要为每个主机名创建 CNAME 记录,
+ 或者创建 DNS 通配符记录。创建 DNS 记录超出了本文档的范围。</div>
+
+<p>内部 <code>tolower</code> RewriteMap 指令用于确保所使用的主机名全部为小写,
+以避免目录结构中的歧义。</p>
+
+<p>在 <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
+中使用的括号会被捕获到反向引用 <code>%1</code>、<code>%2</code> 等中,
+而在 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+中使用的括号会被捕获到反向引用 <code>$1</code>、<code>$2</code> 等中。</p>
+
+<p>第一个 <code>RewriteCond</code> 检查主机名是否以 <code>www.</code> 开头,
+如果是,则跳过重写。</p>
+
+<p>
+与本文档中讨论的许多技术一样,<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+确实不是完成此任务的最佳方式。你应该考虑使用
+<code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>,因为它能更优雅地处理静态文件之外的任何内容,
+包括动态内容和 Alias 解析。
+</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="simple.rewrite" id="simple.rewrite">使用
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 的动态虚拟主机</a> <a title="Permanent link" href="#simple.rewrite" class="permalink">¶</a></h2>
+
+ <p>此 <code>httpd.conf</code> 摘录与<a href="#per-hostname">第一个示例</a>
+ 实现相同的功能。前半部分与上面对应的部分非常相似,
+ 只是为了向后兼容和使 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 部分正常工作而做了一些更改;
+ 后半部分配置 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 来完成实际工作。</p>
+
+ <p>因为 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 在其他 URI 转换模块
+ (例如 <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>)之前运行,
+ 必须告知 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 显式忽略那些本应由这些模块处理的 URL。
+ 而且,由于这些规则会绕过任何 <code>ScriptAlias</code> 指令,
+ 我们必须让 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 显式执行这些映射。</p>
+
+<pre class="prettyprint lang-config"># get the server name from the Host: header
+UseCanonicalName Off
+
+# splittable logs
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog "logs/access_log" vcommon
+
+<Directory "/www/hosts">
+ # ExecCGI is needed here because we can't force
+ # CGI execution in the way that ScriptAlias does
+ Options FollowSymLinks ExecCGI
+</Directory>
+
+RewriteEngine On
+
+# a ServerName derived from a Host: header may be any case at all
+RewriteMap lowercase "int:tolower"
+
+## deal with normal documents first:
+# allow Alias /icons/ to work - repeat for other aliases
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+# allow CGIs to work
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+# do the magic
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1"
+
+## and now deal with CGIs - we have to force a handler
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1" [H=cgi-script]</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="xtra-conf" id="xtra-conf">使用独立的虚拟主机配置文件</a> <a title="Permanent link" href="#xtra-conf" class="permalink">¶</a></h2>
+
+ <p>此方案使用更高级的 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 功能,
+ 从独立的配置文件中计算从虚拟主机到文档根目录的转换。
+ 这提供了更大的灵活性,但需要更复杂的配置。</p>
+
+ <p><code>vhost.map</code> 文件应类似于:</p>
+
+<div class="example"><p><code>
+customer-1.example.com /www/customers/1<br />
+customer-2.example.com /www/customers/2<br />
+# ...<br />
+customer-N.example.com /www/customers/N<br />
+</code></p></div>
+
+ <p><code>httpd.conf</code> 应包含以下内容:</p>
+
+<pre class="prettyprint lang-config">RewriteEngine on
+
+RewriteMap lowercase "int:tolower"
+
+# define the map file
+RewriteMap vhost "txt:/www/conf/vhost.map"
+
+# deal with aliases as above
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+# this does the file-based remap
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/(.*)$" "%1/docs/$1"
+
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/cgi-bin/(.*)$" "%1/cgi-bin/$1" [H=cgi-script]</pre>
+
+
+</div></div>
+<div class="bottomlang">
+<p><span>可用语言: </span><a href="../de/rewrite/vhosts.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../es/rewrite/vhosts.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/rewrite/vhosts.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
+<a href="../ja/rewrite/vhosts.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../ko/rewrite/vhosts.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/rewrite/vhosts.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../zh-cn/rewrite/vhosts.html" title="Simplified Chinese"> zh-cn </a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2026 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 许可证.</p>
+<p class="menu"><a href="../mod/">模块</a> | <a href="../mod/quickreference.html">指令</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">常见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">网站导航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file