<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.2</a> > <a href="./">How-To / Tutorials</a></div><div id="page-content"><div id="preamble"><h1>Apache Tutorial: .htaccess files</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/howto/htaccess.html" title="English"> en </a> |
+<a href="../fr/howto/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="related" id="related">.htaccess files</a></h2>
+ <div class="note">You should avoid using <code>.htaccess</code> files completely if you have access to
+ httpd main server config file. Using <code>.htaccess</code> files slows down your Apache server.
+ Any directive that you can include in a <code>.htaccess</code> file is better set in a <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> block, as it will have the same effect with better performance.</div>
+
<table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li><li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li></ul></td></tr></table>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<p>However, in general, use of <code>.htaccess</code> files should be
avoided when possible. Any configuration that you would consider
putting in a <code>.htaccess</code> file, can just as effectively be
- made in a <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> section in your main server
+ made in a <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> section in your main server
configuration file.</p>
<p>There are two main reasons to avoid the use of
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/howto/htaccess.html" title="English"> en </a> |
+<a href="../fr/howto/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p>
changes on a per-directory basis.</p>
</summary>
+
<section id="related"><title>.htaccess files</title>
+ <note>You should avoid using <code>.htaccess</code> files completely if you have access to
+ httpd main server config file. Using <code>.htaccess</code> files slows down your Apache server.
+ Any directive that you can include in a <code>.htaccess</code> file is better set in a <directive module="core">Directory</directive> block, as it will have the same effect with better performance.</note>
+
<related>
<modulelist>
<module>core</module>
avoided when possible. Any configuration that you would consider
putting in a <code>.htaccess</code> file, can just as effectively be
made in a <directive module="core"
- type="section">Directory</directive> section in your main server
+ type="section">Directory</directive> section in your main server
configuration file.</p>
<p>There are two main reasons to avoid the use of
<code>.htaccess</code> files.</p>
- <p>The first of these is performance. When <directive
+ <p>The first of these is performance. When <directive
module="core">AllowOverride</directive>
is set to allow the use of <code>.htaccess</code> files, Apache will
look in every directory for <code>.htaccess</code> files. Thus,
in a <directive module="core" type="section">Directory</directive>
section, in your main server configuration file, is the preferred way
to implement this, and <code>.htaccess</code> files should be used only
- if you don't have access to the main server configuration file. See <a
+ if you don't have access to the main server configuration file. See <a
href="#when">above</a> for a discussion of when you should and should
not use <code>.htaccess</code> files.</p>