github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/manual/howto/htaccess.html.en (about) 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> 4 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> 5 <!-- 6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7 This file is generated from xml source: DO NOT EDIT 8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 9 --> 10 <title>Apache HTTP Server Tutorial: .htaccess files - Apache HTTP Server Version 2.2</title> 11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> 12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> 13 <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" /> 14 <script src="../style/scripts/prettify.min.js" type="text/javascript"> 15 </script> 16 17 <link href="../images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/current/howto/htaccess.html" rel="canonical" /></head> 18 <body id="manual-page"><div id="page-header"> 19 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> 20 <p class="apache">Apache HTTP Server Version 2.2</p> 21 <img alt="" src="../images/feather.gif" /></div> 22 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> 23 <div id="path"> 24 <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 class="retired"><h4>Please note</h4> 25 <p> This document refers to a legacy release (<strong>2.2</strong>) of Apache httpd. The active release (<strong>2.4</strong>) is documented <a href="http://httpd.apache.org/docs/current">here</a>. If you have not already upgraded, please follow <a href="http://httpd.apache.org/docs/current/upgrading.html">this link</a> for more information.</p> 26 <p>You may follow <a href="http://httpd.apache.org/docs/current/howto/htaccess.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>Apache HTTP Server Tutorial: .htaccess files</h1> 27 <div class="toplang"> 28 <p><span>Available Languages: </span><a href="../en/howto/htaccess.html" title="English"> en </a> | 29 <a href="../fr/howto/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 30 <a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 31 <a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 32 <a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p> 33 </div> 34 35 <p><code>.htaccess</code> files provide a way to make configuration 36 changes on a per-directory basis.</p> 37 </div> 38 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">.htaccess files</a></li> 39 <li><img alt="" src="../images/down.gif" /> <a href="#what">What they are/How to use them</a></li> 40 <li><img alt="" src="../images/down.gif" /> <a href="#when">When (not) to use .htaccess files</a></li> 41 <li><img alt="" src="../images/down.gif" /> <a href="#how">How directives are applied</a></li> 42 <li><img alt="" src="../images/down.gif" /> <a href="#auth">Authentication example</a></li> 43 <li><img alt="" src="../images/down.gif" /> <a href="#ssi">Server Side Includes example</a></li> 44 <li><img alt="" src="../images/down.gif" /> <a href="#cgi">CGI example</a></li> 45 <li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Troubleshooting</a></li> 46 </ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div> 47 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 48 <div class="section"> 49 <h2><a name="related" id="related">.htaccess files</a></h2> 50 <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> 51 52 <div class="note">You should avoid using <code>.htaccess</code> files completely if you have access to 53 httpd main server config file. Using <code>.htaccess</code> files slows down your Apache http server. 54 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> 55 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 56 <div class="section"> 57 <h2><a name="what" id="what">What they are/How to use them</a></h2> 58 59 60 <p><code>.htaccess</code> files (or "distributed configuration files") 61 provide a way to make configuration changes on a per-directory basis. A 62 file, containing one or more configuration directives, is placed in a 63 particular document directory, and the directives apply to that 64 directory, and all subdirectories thereof.</p> 65 66 <div class="note"><h3>Note:</h3> 67 <p>If you want to call your <code>.htaccess</code> file something 68 else, you can change the name of the file using the <code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code> directive. For example, 69 if you would rather call the file <code>.config</code> then you 70 can put the following in your server configuration file:</p> 71 72 <div class="example"><p><code> 73 AccessFileName .config 74 </code></p></div> 75 </div> 76 77 <p>In general, <code>.htaccess</code> files use the same syntax as 78 the <a href="../configuring.html#syntax">main configuration 79 files</a>. What you can put in these files is determined by the 80 <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> directive. This 81 directive specifies, in categories, what directives will be 82 honored if they are found in a <code>.htaccess</code> file. If a 83 directive is permitted in a <code>.htaccess</code> file, the 84 documentation for that directive will contain an Override section, 85 specifying what value must be in <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> in order for that 86 directive to be permitted.</p> 87 88 <p>For example, if you look at the documentation for the <code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code> 89 directive, you will find that it is permitted in <code>.htaccess</code> 90 files. (See the Context line in the directive summary.) The <a href="../mod/directive-dict.html#Context">Override</a> line reads 91 <code>FileInfo</code>. Thus, you must have at least 92 <code>AllowOverride FileInfo</code> in order for this directive to be 93 honored in <code>.htaccess</code> files.</p> 94 95 <div class="example"><h3>Example:</h3><table> 96 <tr> 97 <td><a href="../mod/directive-dict.html#Context">Context:</a></td> 98 <td>server config, virtual host, directory, .htaccess</td> 99 </tr> 100 101 <tr> 102 <td><a href="../mod/directive-dict.html#Override">Override:</a></td> 103 <td>FileInfo</td> 104 </tr> 105 </table></div> 106 107 <p>If you are unsure whether a particular directive is permitted in a 108 <code>.htaccess</code> file, look at the documentation for that 109 directive, and check the Context line for ".htaccess".</p> 110 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 111 <div class="section"> 112 <h2><a name="when" id="when">When (not) to use .htaccess files</a></h2> 113 114 <p>In general, you should only use <code>.htaccess</code> files when 115 you don't have access to the main server configuration file. There is, 116 for example, a common misconception that user authentication should 117 always be done in <code>.htaccess</code> files, and, in more recent years, 118 another misconception that <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> directives 119 must go in <code>.htaccess</code> files. This is simply not the 120 case. You can put user authentication configurations in the main server 121 configuration, and this is, in fact, the preferred way to do 122 things. Likewise, <code>mod_rewrite</code> directives work better, 123 in many respects, in the main server configuration.</p> 124 125 <p><code>.htaccess</code> files should be used in a case where the 126 content providers need to make configuration changes to the server on a 127 per-directory basis, but do not have root access on the server system. 128 In the event that the server administrator is not willing to make 129 frequent configuration changes, it might be desirable to permit 130 individual users to make these changes in <code>.htaccess</code> files 131 for themselves. This is particularly true, for example, in cases where 132 ISPs are hosting multiple user sites on a single machine, and want 133 their users to be able to alter their configuration.</p> 134 135 <p>However, in general, use of <code>.htaccess</code> files should be 136 avoided when possible. Any configuration that you would consider 137 putting in a <code>.htaccess</code> file, can just as effectively be 138 made in a <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> section in your main server 139 configuration file.</p> 140 141 <p>There are two main reasons to avoid the use of 142 <code>.htaccess</code> files.</p> 143 144 <p>The first of these is performance. When <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> 145 is set to allow the use of <code>.htaccess</code> files, httpd will 146 look in every directory for <code>.htaccess</code> files. Thus, 147 permitting <code>.htaccess</code> files causes a performance hit, 148 whether or not you actually even use them! Also, the 149 <code>.htaccess</code> file is loaded every time a document is 150 requested.</p> 151 152 <p>Further note that httpd must look for <code>.htaccess</code> files 153 in all higher-level directories, in order to have a full complement of 154 directives that it must apply. (See section on <a href="#how">how 155 directives are applied</a>.) Thus, if a file is requested out of a 156 directory <code>/www/htdocs/example</code>, httpd must look for the 157 following files:</p> 158 159 <div class="example"><p><code> 160 /.htaccess<br /> 161 /www/.htaccess<br /> 162 /www/htdocs/.htaccess<br /> 163 /www/htdocs/example/.htaccess 164 </code></p></div> 165 166 <p>And so, for each file access out of that directory, there are 4 167 additional file-system accesses, even if none of those files are 168 present. (Note that this would only be the case if 169 <code>.htaccess</code> files were enabled for <code>/</code>, which 170 is not usually the case.)</p> 171 172 <p>In the case of <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directives, in 173 <code>.htaccess</code> context these regular expressions must be 174 re-compiled with every request to the directory, whereas in main 175 server configuration context they are compiled once and cached. 176 Additionally, the rules themselves are more complicated, as one must 177 work around the restrictions that come with per-directory context 178 and <code>mod_rewrite</code>. Consult the <a href="../rewrite/intro.html#htaccess">Rewrite Guide</a> for more 179 detail on this subject.</p> 180 181 <p>The second consideration is one of security. You are permitting 182 users to modify server configuration, which may result in changes over 183 which you have no control. Carefully consider whether you want to give 184 your users this privilege. Note also that giving users less 185 privileges than they need will lead to additional technical support 186 requests. Make sure you clearly tell your users what level of 187 privileges you have given them. Specifying exactly what you have set 188 <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> to, and pointing them 189 to the relevant documentation, will save yourself a lot of confusion 190 later.</p> 191 192 <p>Note that it is completely equivalent to put a <code>.htaccess</code> 193 file in a directory <code>/www/htdocs/example</code> containing a 194 directive, and to put that same directive in a Directory section 195 <code><Directory /www/htdocs/example></code> in your main server 196 configuration:</p> 197 198 <p><code>.htaccess</code> file in <code>/www/htdocs/example</code>:</p> 199 200 <div class="example"><h3>Contents of .htaccess file in 201 <code>/www/htdocs/example</code></h3><pre class="prettyprint lang-config">AddType text/example .exm</pre> 202 </div> 203 204 <div class="example"><h3>Section from your <code>httpd.conf</code> 205 file</h3><p><code> 206 <Directory /www/htdocs/example><br /> 207 <span class="indent"> 208 AddType text/example .exm<br /> 209 </span> 210 </Directory> 211 </code></p></div> 212 213 <p>However, putting this configuration in your server configuration 214 file will result in less of a performance hit, as the configuration is 215 loaded once when httpd starts, rather than every time a file is 216 requested.</p> 217 218 <p>The use of <code>.htaccess</code> files can be disabled completely 219 by setting the <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> 220 directive to <code>none</code>:</p> 221 222 <div class="example"><p><code> 223 AllowOverride None 224 </code></p></div> 225 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 226 <div class="section"> 227 <h2><a name="how" id="how">How directives are applied</a></h2> 228 229 <p>The configuration directives found in a <code>.htaccess</code> file 230 are applied to the directory in which the <code>.htaccess</code> file 231 is found, and to all subdirectories thereof. However, it is important 232 to also remember that there may have been <code>.htaccess</code> files 233 in directories higher up. Directives are applied in the order that they 234 are found. Therefore, a <code>.htaccess</code> file in a particular 235 directory may override directives found in <code>.htaccess</code> files 236 found higher up in the directory tree. And those, in turn, may have 237 overridden directives found yet higher up, or in the main server 238 configuration file itself.</p> 239 240 <p>Example:</p> 241 242 <p>In the directory <code>/www/htdocs/example1</code> we have a 243 <code>.htaccess</code> file containing the following:</p> 244 245 <div class="example"><p><code> 246 Options +ExecCGI 247 </code></p></div> 248 249 <p>(Note: you must have "<code>AllowOverride Options</code>" in effect 250 to permit the use of the "<code class="directive"><a href="../mod/core.html#options">Options</a></code>" directive in 251 <code>.htaccess</code> files.)</p> 252 253 <p>In the directory <code>/www/htdocs/example1/example2</code> we have 254 a <code>.htaccess</code> file containing:</p> 255 256 <div class="example"><p><code> 257 Options Includes 258 </code></p></div> 259 260 <p>Because of this second <code>.htaccess</code> file, in the directory 261 <code>/www/htdocs/example1/example2</code>, CGI execution is not 262 permitted, as only <code>Options Includes</code> is in effect, which 263 completely overrides any earlier setting that may have been in 264 place.</p> 265 266 <h3><a name="merge" id="merge">Merging of .htaccess with the main 267 configuration files</a></h3> 268 269 <p>As discussed in the documentation on <a href="../sections.html">Configuration Sections</a>, 270 <code>.htaccess</code> files can override the <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> sections for 271 the corresponding directory, but will be overridden by other types 272 of configuration sections from the main configuration files. This 273 fact can be used to enforce certain configurations, even in the 274 presence of a liberal <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> setting. For example, to 275 prevent script execution while allowing anything else to be set in 276 <code>.htaccess</code> you can use:</p> 277 278 <div class="example"><p><code> 279 <Directory /><br /> 280 <span class="indent"> 281 Allowoverride All<br /> 282 </span> 283 </Directory><br /> 284 <br /> 285 <Location /><br /> 286 <span class="indent"> 287 Options +IncludesNoExec -ExecCGI<br /> 288 </span> 289 </Location> 290 </code></p></div> 291 292 293 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 294 <div class="section"> 295 <h2><a name="auth" id="auth">Authentication example</a></h2> 296 297 <p>If you jumped directly to this part of the document to find out how 298 to do authentication, it is important to note one thing. There is a 299 common misconception that you are required to use 300 <code>.htaccess</code> files in order to implement password 301 authentication. This is not the case. Putting authentication directives 302 in a <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> 303 section, in your main server configuration file, is the preferred way 304 to implement this, and <code>.htaccess</code> files should be used only 305 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 306 not use <code>.htaccess</code> files.</p> 307 308 <p>Having said that, if you still think you need to use a 309 <code>.htaccess</code> file, you may find that a configuration such as 310 what follows may work for you.</p> 311 312 <p><code>.htaccess</code> file contents:</p> 313 314 <div class="example"><p><code> 315 AuthType Basic<br /> 316 AuthName "Password Required"<br /> 317 AuthUserFile /www/passwords/password.file<br /> 318 AuthGroupFile /www/passwords/group.file<br /> 319 Require Group admins 320 </code></p></div> 321 322 <p>Note that <code>AllowOverride AuthConfig</code> must be in effect 323 for these directives to have any effect.</p> 324 325 <p>Please see the <a href="auth.html">authentication tutorial</a> for a 326 more complete discussion of authentication and authorization.</p> 327 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 328 <div class="section"> 329 <h2><a name="ssi" id="ssi">Server Side Includes example</a></h2> 330 331 <p>Another common use of <code>.htaccess</code> files is to enable 332 Server Side Includes for a particular directory. This may be done with 333 the following configuration directives, placed in a 334 <code>.htaccess</code> file in the desired directory:</p> 335 336 <div class="example"><p><code> 337 Options +Includes<br /> 338 AddType text/html shtml<br /> 339 AddHandler server-parsed shtml 340 </code></p></div> 341 342 <p>Note that <code>AllowOverride Options</code> and <code>AllowOverride 343 FileInfo</code> must both be in effect for these directives to have any 344 effect.</p> 345 346 <p>Please see the <a href="ssi.html">SSI tutorial</a> for a more 347 complete discussion of server-side includes.</p> 348 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 349 <div class="section"> 350 <h2><a name="cgi" id="cgi">CGI example</a></h2> 351 352 <p>Finally, you may wish to use a <code>.htaccess</code> file to permit 353 the execution of CGI programs in a particular directory. This may be 354 implemented with the following configuration:</p> 355 356 <div class="example"><p><code> 357 Options +ExecCGI<br /> 358 AddHandler cgi-script cgi pl 359 </code></p></div> 360 361 <p>Alternately, if you wish to have all files in the given directory be 362 considered to be CGI programs, this may be done with the following 363 configuration:</p> 364 365 <div class="example"><p><code> 366 Options +ExecCGI<br /> 367 SetHandler cgi-script 368 </code></p></div> 369 370 <p>Note that <code>AllowOverride Options</code> and <code>AllowOverride 371 FileInfo</code> must both be in effect for these directives to have any 372 effect.</p> 373 374 <p>Please see the <a href="cgi.html">CGI tutorial</a> for a more 375 complete discussion of CGI programming and configuration.</p> 376 377 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 378 <div class="section"> 379 <h2><a name="troubleshoot" id="troubleshoot">Troubleshooting</a></h2> 380 381 <p>When you put configuration directives in a <code>.htaccess</code> 382 file, and you don't get the desired effect, there are a number of 383 things that may be going wrong.</p> 384 385 <p>Most commonly, the problem is that <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> is not 386 set such that your configuration directives are being honored. Make 387 sure that you don't have a <code>AllowOverride None</code> in effect 388 for the file scope in question. A good test for this is to put garbage 389 in your <code>.htaccess</code> file and reload the page. If a server error is 390 not generated, then you almost certainly have <code>AllowOverride 391 None</code> in effect.</p> 392 393 <p>If, on the other hand, you are getting server errors when trying to 394 access documents, check your httpd error log. It will likely tell you 395 that the directive used in your <code>.htaccess</code> file is not 396 permitted.</p> 397 398 <div class="example"><p><code> 399 [Fri Sep 17 18:43:16 2010] [alert] [client 192.168.200.51] /var/www/html/.htaccess: DirectoryIndex not allowed here 400 </code></p></div> 401 402 <p>This will indicate either that you've used a directive that is 403 never permitted in <code>.htaccess</code> files, or that you simply 404 don't have <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> set to 405 a level sufficient for the directive you've used. Consult the 406 documentation for that particular directive to determine which is 407 the case.</p> 408 409 <p>Alternately, it may tell you that you had a syntax error in your 410 usage of the directive itself.</p> 411 412 <div class="example"><p><code> 413 [Sat Aug 09 16:22:34 2008] [alert] [client 192.168.200.51] /var/www/html/.htaccess: RewriteCond: bad flag delimiters 414 </code></p></div> 415 416 <p>In this case, the error message should be specific to the 417 particular syntax error that you have committed.</p> 418 419 </div></div> 420 <div class="bottomlang"> 421 <p><span>Available Languages: </span><a href="../en/howto/htaccess.html" title="English"> en </a> | 422 <a href="../fr/howto/htaccess.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 423 <a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 424 <a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 425 <a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p> 426 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> 427 <script type="text/javascript"><!--//--><![CDATA[//><!-- 428 var comments_shortname = 'httpd'; 429 var comments_identifier = 'http://httpd.apache.org/docs/2.2/howto/htaccess.html'; 430 (function(w, d) { 431 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 432 d.write('<div id="comments_thread"><\/div>'); 433 var s = d.createElement('script'); 434 s.type = 'text/javascript'; 435 s.async = true; 436 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 437 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 438 } 439 else { 440 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 441 } 442 })(window, document); 443 //--><!]]></script></div><div id="footer"> 444 <p class="apache">Copyright 2017 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> 445 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- 446 if (typeof(prettyPrint) !== 'undefined') { 447 prettyPrint(); 448 } 449 //--><!]]></script> 450 </body></html>