</section>
<section id="flag_dpi"><title>DPI|discardpath</title>
-<p>The DPI flag causes the PATH_INFO portion of the rewritten URI to be
+<p>The DPI flag causes the PATH_INFO portion of the rewritten URL-path to be
discarded.</p>
-<p>In per-directory context, the URI each <directive>RewriteRule</directive>
-compares against is the concatenation of the current values of the URI
-and PATH_INFO.</p>
-
-<p>The current URI can be the initial URI as requested by the client, the
-result of a previous round of <module>mod_rewrite</module> processing, or the result of
-a prior rule in the current round of <module>mod_rewrite</module> processing.</p>
-
-<p>In contrast, the PATH_INFO that is appended to the URI before each
-rule reflects only the value of PATH_INFO before this round of
-<module>mod_rewrite</module> processing. As a consequence, if large portions
-of the URI are matched and copied into a substitution in multiple
+
+<p>In <glossary ref="perdirectory">per-directory context</glossary>,
+the URL-path each <directive>RewriteRule</directive> compares against
+is the concatenation of the current URL-path and PATH_INFO.</p>
+
+<p>The current URL-path can be the initial path as requested by the
+client, the result of a previous round of <module>mod_rewrite</module>
+processing, or the result of a prior rule in the current round of
+<module>mod_rewrite</module> processing.</p>
+
+<p>In contrast, the PATH_INFO that is appended to the URL-path before
+each rule reflects only the value of PATH_INFO before this round of
+<module>mod_rewrite</module> processing. As a consequence, if large
+portions of the URL-path are matched and copied into a substitution in multiple
<directive>RewriteRule</directive> directives, without regard for
which parts of the URI came from the current PATH_INFO, the final
-URI may have multiple copies of PATH_INFO appended to it.</p>
+URL-path may have multiple copies of PATH_INFO appended to it.</p>
<p>Use this flag on any substitution where the PATH_INFO that resulted
from the previous mapping of this request to the filesystem is not of
completes. Subsequent rules during this round of processing will see
only the direct result of substitutions, without any PATH_INFO
appended.</p>
+
+<highlight language="config">
+# Request: /app/script.php/extra/path (PATH_INFO is /extra/path)
+# Without DPI, the substitution would see "script.php/extra/path"
+# and could inadvertently copy PATH_INFO into the result.
+RewriteRule "^script\.php(.*)$" "/new-app/handler$1" [DPI]
+</highlight>
+
+<p>The [DPI] flag discards <code>/extra/path</code> so that only the
+substitution result (<code>/new-app/handler</code>) is passed to
+subsequent rules or the final request.</p>
+
</section>
<section id="flag_e"><title>E|env</title>