htaccess.xml.pt-br revision c8fa0a6b7b2b6beb23bf4684720100e60e4e5764
3802a3d3d7af51ddff31943d5514382f01265770Lennart Poettering<?xml version='1.0' encoding='UTF-8' ?>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering<?xml-stylesheet type="text/xsl" href="/style/manual.pt-br.xsl"?>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering<!-- English Revision: 151408:933606 (outdated) -->
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
b975b0d514321f169b3c4599a8ea92e13741b4e4Zbigniew Jędrzejewski-Szmek<!--
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering Licensed to the Apache Software Foundation (ASF) under one or more
b975b0d514321f169b3c4599a8ea92e13741b4e4Zbigniew Jędrzejewski-Szmek contributor license agreements. See the NOTICE file distributed with
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering this work for additional information regarding copyright ownership.
b975b0d514321f169b3c4599a8ea92e13741b4e4Zbigniew Jędrzejewski-Szmek The ASF licenses this file to You under the Apache License, Version 2.0
b975b0d514321f169b3c4599a8ea92e13741b4e4Zbigniew Jędrzejewski-Szmek (the "License"); you may not use this file except in compliance with
b975b0d514321f169b3c4599a8ea92e13741b4e4Zbigniew Jędrzejewski-Szmek the License. You may obtain a copy of the License at
b975b0d514321f169b3c4599a8ea92e13741b4e4Zbigniew Jędrzejewski-Szmek
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering http://www.apache.org/licenses/LICENSE-2.0
b975b0d514321f169b3c4599a8ea92e13741b4e4Zbigniew Jędrzejewski-Szmek
b975b0d514321f169b3c4599a8ea92e13741b4e4Zbigniew Jędrzejewski-Szmek Unless required by applicable law or agreed to in writing, software
b975b0d514321f169b3c4599a8ea92e13741b4e4Zbigniew Jędrzejewski-Szmek distributed under the License is distributed on an "AS IS" BASIS,
b975b0d514321f169b3c4599a8ea92e13741b4e4Zbigniew Jędrzejewski-Szmek WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering See the License for the specific language governing permissions and
b975b0d514321f169b3c4599a8ea92e13741b4e4Zbigniew Jędrzejewski-Szmek limitations under the License.
b975b0d514321f169b3c4599a8ea92e13741b4e4Zbigniew Jędrzejewski-Szmek-->
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering<manualpage metafile="htaccess.xml.meta">
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering<parentdocument href="./">How-To / Tutoriais</parentdocument>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering<title>Tutorial do Apache: arquivos .htaccess</title>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering<summary>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering<p>Arquivos <code>.htaccess</code> oferecem um meio de fazer mudan&#231;as
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering nas configura&#231;&#245;es por-diret&#243;rio.</p>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering</summary>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering<section id="related"><title>Arquivos .htaccess </title>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <related>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <modulelist>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <module>core</module>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <module>mod_authn_file</module>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <module>mod_authz_groupfile</module>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <module>mod_cgi</module>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <module>mod_include</module>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <module>mod_mime</module>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering </modulelist>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <directivelist>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <directive module="core">AccessFileName</directive>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <directive module="core">AllowOverride</directive>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <directive module="core">Options</directive>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <directive module="mod_mime">AddHandler</directive>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <directive module="core">SetHandler</directive>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <directive module="core">AuthType</directive>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <directive module="core">AuthName</directive>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <directive module="mod_authn_file">AuthUserFile</directive>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <directive module="mod_authz_groupfile">AuthGroupFile</directive>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <directive module="core">Require</directive>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering </directivelist>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering </related>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering</section>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering<section id="what">
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering<title>O que eles s&#227;o/Como us&#225;-los</title>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <p>Os arquivos <code>.htaccess</code> (ou "arquivos de
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering configura&#231;&#227;o distribu&#237;da") oferecem um meio de fazer mudan&#231;as nas
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering configura&#231;&#245;es por-diret&#243;rio. Um arquivo, contendo uma ou mais
53d6837510478e1275b294654663635466cbafc7Tom Gundersen diretrizes de configura&#231;&#245;es, &#233; colocado em um diret&#243;rio
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering em particular, e as diretrizes se aplicam para aquele diret&#243;rio e todos
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering os seu subdiret&#243;rios subseq&#252;entes.</p>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <note><title>Nota:</title>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <p>Se voc&#234; quiser renomear o seu arquivo <code>.htaccess</code>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering para outro nome, voc&#234; deve usar a diretriz <directive
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering module="core">AccessFileName</directive>. Por exemplo, se voc&#234;
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering prefere que o arquivo se chame <code>.config</code>, ent&#227;o voc&#234;
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering pode adicionar a seguinte linha ao seu arquivo de configura&#231;&#227;o
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering do servidor:</p>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <example>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering AccessFileName .config
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering </example>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering </note>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <p>No geral, arquivos <code>.htaccess</code> usam a mesma sintaxe
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering que os <a href="/configuring.html#syntax">arquivos de
b8bde11658366290521e3d03316378b482600323Jan Engelhardt configura&#231;&#227;o principal</a>. O que voc&#234; pode colocar nesses
b8bde11658366290521e3d03316378b482600323Jan Engelhardt arquivos &#233; determinado pele diretriz <directive
b8bde11658366290521e3d03316378b482600323Jan Engelhardt module="core">AllowOverride</directive>. Essa diretriz especifica,
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering em categorias, quais diretrizes ser&#227;o aceitas caso sejam
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering encontradas em um arquivo <code>.htaccess</code>. Se uma diretriz
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering for permitida em um arquivo <code>.htaccess</code>, a documenta&#231;&#227;o
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering para essa diretriz ir&#225; conter uma se&#231;&#227;o <em>Override</em>,
b8bde11658366290521e3d03316378b482600323Jan Engelhardt especificando que valor precisa estar em <directive
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering module="core">AllowOverride</directive> para que esta diretriz
b8bde11658366290521e3d03316378b482600323Jan Engelhardt seja permitida.</p>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <p>Por exemplo, se voc&#234; procurar na documenta&#231;&#227;o pela diretriz
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <directive module="core">AddDefaultCharset</directive>, voc&#234;
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering achar&#225; que ela &#233; permitida nos arquivos <code>.htaccess</code>.
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering (Veja a linha Contexto no sum&#225;rio das diretivas.) A
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering linha <a href="/mod/directive-dict.html#Context">Override</a> l&#234;
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <code>FileInfo</code>. Ent&#227;o, voc&#234; deve ao menos ter
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <code>AllowOverride FileInfo</code> para que essa diretriz seja
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering aceita nos arquivos <code>.htaccess</code>.</p>
b8bde11658366290521e3d03316378b482600323Jan Engelhardt
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <example><title>Exemplo:</title>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <table>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <tr>
dca348bcbb462305864526c587495a14a76bfcdeJan Engelhardt <td><a
b8bde11658366290521e3d03316378b482600323Jan Engelhardt href="/mod/directive-dict.html#Context">Contexto:</a></td>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <td>configura&#231;&#227;o do servidor, hospedeiros virtuais, diret&#243;rio, .htaccess</td>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering </tr>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <tr>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <td><a
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering href="/mod/directive-dict.html#Override">Override:</a></td>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <td>FileInfo</td>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering </tr>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering </table>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering </example>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
b8bde11658366290521e3d03316378b482600323Jan Engelhardt <p>Se voc&#234; estiver incerto se uma diretriz em particular &#233;
b8bde11658366290521e3d03316378b482600323Jan Engelhardt aceita em um arquivo <code>.htaccess</code>, procure na
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering documenta&#231;&#227;o por essa diretriz, e verifique a linha de
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering Contexto por ".htaccess".</p> </section>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
5aded369782f28255bc6b494ca905d7acaea7a56Zbigniew Jędrzejewski-Szmek <section id="when"><title>Quando (n&#227;o) usar arquivos .htaccess</title>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <p>No geral, voc&#234; nunca deve usar arquivos <code>.htaccess</code>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering a n&#227;o ser que voc&#234; n&#227;o tenha acesso ao arquivo de configura&#231;&#227;o
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering principal do servidor. Existe, por exemplo, um erro de concep&#231;&#227;o
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering que dita que a autentica&#231;&#227;o de usu&#225;rios sempre deve
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering ser feita usando os arquivos <code>.htaccess</code>. Esse
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering simplesmente n&#227;o &#233; o caso. Voc&#234; pode usar as configura&#231;&#245;es de
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering autentica&#231;&#227;o de usu&#225;rio no arquivo de configura&#231;&#227;o principal do
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering servidor, e isso &#233;, de fato, a maneira mais adequada de se fazer
5aded369782f28255bc6b494ca905d7acaea7a56Zbigniew Jędrzejewski-Szmek as coisas.</p>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <p>Arquivos <code>.htaccess</code> devem ser usados em casos onde
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering os provedores de conte&#250;do do site precisem fazer mudan&#231;as na
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering configura&#231;&#227;o do servidor por-diret&#243;rio, mas n&#227;o tem
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering acesso <em>root</em> ao sistema do servidor. Caso o administrador do
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering servidor n&#227;o esteja disposto a fazer mudan&#231;as freq&#252;entes nas
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering configura&#231;&#245;es do servidor, &#233; desej&#225;vel permitir que os
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering usu&#225;rios possam fazer essas mudan&#231;as atrav&#233;s de arquivos
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <code>.htaccess</code> eles mesmos. Isso &#233; particularmente
5aded369782f28255bc6b494ca905d7acaea7a56Zbigniew Jędrzejewski-Szmek verdade, por exemplo, em casos onde provedores est&#227;o fornecendo
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering m&#250;ltiplos sites para usu&#225;rios em apenas uma m&#225;quina, e querem que
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering seus usu&#225;rios possam alterar suas configura&#231;&#245;es.</p>
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering
a6278b88305b237b02eabff0d870b57fe851822dLennart Poettering <p>No entanto, de modo geral, o uso de arquivos <code>.htaccess</code>
deve ser evitado quando poss&#237;vel. Quaisquer configura&#231;&#245;es
que voc&#234; considerar acrescentar em um arquivo <code>.htaccess</code>, podem
ser efetivamente colocadas em uma se&#231;&#227;o <directive module="core"
type="section">Directory</directive> no arquivo principal de
configura&#231;&#227;o de seu servidor.</p>
<p>Existem duas raz&#245;es principais para evitar o uso de arquivos
<code>.htaccess</code>.</p>
<p>A primeira delas &#233; a performance. Quando <directive
module="core">AllowOverride</directive> &#233; configurado para
permitir o uso de arquivos <code>.htaccess</code>, o Apache procura
em todos diret&#243;rios por arquivos <code>.htaccess</code>.
Logo, permitir arquivos <code>.htaccess</code> causa um impacto na
performance, mesmo sem voc&#234; us&#225;-los de fato! Al&#233;m disso,
o arquivo <code>.htaccess</code> &#233; carregado toda vez que um documento
&#233; requerido.</p>
<p>Al&#233;m disso, note que o Apache precisa procurar pelos arquivos
<code>.htaccess</code> em todos os diret&#243;rios superiores, para ter
o complemento total de todas as diretivas que devem ser
aplicadas. (Veja a se&#231;&#227;o <a href="#how">como as diretrizes s&#227;o
aplicadas</a>.) Ent&#227;o, se um arquivo de um diret&#243;rio
<code>/www/htdocs/example</code> &#233; requerido, o Apache precisa
procurar pelos seguintes arquivos:</p>
<example>
/.htaccess<br />
/www/.htaccess<br />
/www/htdocs/.htaccess<br />
/www/htdocs/example/.htaccess
</example>
<p>Assim, para cada acesso de arquivo fora desse diret&#243;rio,
existem 4 acessos ao sistema de arquivos adicionais, mesmo
que nenhum desses arquivos estejam presentes. (Note que esse
s&#243; ser&#225; o caso se os arquivos <code>.htaccess</code>
estiverem habilitados para <code>/</code>, o que
normalmente n&#227;o &#233; o verdade.)</p>
<p>A segunda considera&#231;&#227;o &#233; relativa &#224; seguran&#231;a.
Voc&#234; est&#225; permitindo que os usu&#225;rios modifiquem as
configura&#231;&#245;es do servidor, o que pode resultar em mudan&#231;as
que podem fugir ao seu controle. Considere com cuidado se voc&#234; quer
ou n&#227;o dar aos seus usu&#225;rios esses privil&#233;gios. Note tamb&#233;m
que dar aos usu&#225;rios menos privil&#233;gios que eles precisam, acarreta em
pedidos de suporte t&#233;cnico adicionais. Tenha certeza que voc&#234; comunicou
aos usu&#225;rios que n&#237;vel de privil&#233;gios voc&#234; os deu.
Especificar exatamente o que voc&#234; configurou na diretriz <directive
module="core">AllowOverride</directive>, e direcion&#225;-los para a
documenta&#231;&#227;o relevante, ir&#225; poup&#225;-lo de muita confus&#227;o
depois.</p>
<p>Perceba que &#233; exatamente equivalente colocar o arquivo
<code>.htaccess</code> em um diret&#243;rio
<code>/www/htdocs/example</code> contendo uma diretriz, e
adicionar a mesma diretriz em uma se&#231;&#227;o <em>Directory</em>
<code>&lt;Directory /www/htdocs/example&gt;</code> na configura&#231;&#227;o
principal do seu servidor:</p>
<p>Arquivo <code>.htaccess</code> em <code>/www/htdocs/example</code>:</p>
<example><title>Conte&#250;do de um arquivo .htaccess em
<code>/www/htdocs/example</code></title>
AddType text/example .exm
</example>
<example><title>Se&#231;&#227;o do seu arquivo <code>httpd.conf</code></title>
&lt;Directory /www/htdocs/example&gt;<br />
<indent>
AddType text/example .exm<br />
</indent>
&lt;/Directory&gt;
</example>
<p>No entanto, adicionando isso ao seu arquivo de configura&#231;&#227;o do
servidor resultar&#225; em uma menor perda de performance, na medida que
a configura&#231;&#227;o &#233; carregada no momento da inicializa&#231;&#227;o do
servidor, ao inv&#233;s de toda que que um arquivo &#233; requerido.</p>
<p>O uso de arquivos <code>.htaccess</code> pode ser totalmente
desabilitado, ajustando a diretriz <directive
module="core">AllowOverride</directive> para <code>none</code>:</p>
<example>
AllowOverride None
</example>
</section>
<section id="how"><title>Como as diretrizes s&#227;o aplicadas</title>
<p>As diretrizes de configura&#231;&#227;o que se encontram em um arquivo
<code>.htaccess</code> s&#227;o aplicadas para o diret&#243;rio no qual o
arquivo <code>.htaccess</code> se encontra, e para todos os
subdiret&#243;rios ali presentes. Mas, &#233; importante lembrar tamb&#233;m que
podem existir arquivos <code>.htaccess</code> no diret&#243;rios
superiores. As diretrizes s&#227;o aplicadas na ordem que s&#227;o
achadas. Logo, um arquivo <code>.htaccess</code> em um diret&#243;rio
em particular, pode sobrescrever as diretrizes encontradas em um
diret&#243;rio acima deste em sua respectiva &#225;rvore. Estes, por sua vez,
podem ter suas diretrizes sobrescritas por diretrizes ainda mais
acima, ou no pr&#243;prio arquivo de configura&#231;&#227;o principal do
servidor.</p>
<p>Exemplo:</p>
<p>No diret&#243;rio <code>/www/htdocs/example1</code> n&#243;s temos
um arquivo <code>.htaccess</code> contendo o seguinte:</p>
<example>
Options +ExecCGI
</example>
<p>(Nota: voc&#234; deve ter "<code>AllowOverride Options</code>" para
permitir o uso da diretriz "<directive
module="core">Options</directive>" nos arquivos
<code>.htaccess</code> .)</p>
<p>No diret&#243;rio <code>/www/htdocs/example1/example2</code> n&#243;s temos
um arquivo <code>.htaccess</code> contendo:</p>
<example>
Options Includes
</example>
<p>Devido a esse segundo arquivo <code>.htaccess</code>, no
diret&#243;rio <code>/www/htdocs/example1/example2</code>, a execu&#231;&#227;o
de scripts CGI n&#227;o &#233; permitida, pois somente <code>Options
Includes</code> est&#225; em efeito, o que sobrescreve completamente
quaisquer outros ajustes previamente configurados.</p>
</section>
<section id="auth"><title>Exemplo de Autentica&#231;&#227;o</title>
<p>Se voc&#234; veio diretamente &#224; esta parte do documento para
aprender como fazer autentica&#231;&#227;o, &#233; importante notar uma
coisa. Existe uma concep&#231;&#227;o errada, mas muito comum, de que &#233;
necess&#225;rio o uso de arquivos <code>.htaccess</code> para implementar
a autentica&#231;&#227;o por senha. Este n&#227;o &#233; o caso. Colocar
diretrizes de senha em uma se&#231;&#227;o <directive module="core"
type="section">Directory</directive>, no seu arquivo principal de
configura&#231;&#227;o do servidor, &#233; a melhor maneira de se implementar
isto, e os arquivos <code>.htaccess</code> devem ser usados apenas
se voc&#234; n&#227;o tem acesso ao arquivo principal de configura&#231;&#227;o do
servidor. Veja <a href="#when">acima</a> a discuss&#227;o sobre quando
voc&#234; deve e quando n&#227;o deve usar os arquivos
<code>.htaccess</code>.</p>
<p>Dito isso, se voc&#234; ainda acredita que precisa usar um arquivo
<code>.htaccess</code>, a configura&#231;&#227;o a seguir provavelmente
funcionar&#225; para voc&#234;.</p>
<p>Conte&#250;do de um arquivo <code>.htaccess</code>:</p>
<example>
AuthType Basic<br />
AuthName "Password Required"<br />
AuthUserFile /www/passwords/password.file<br />
AuthGroupFile /www/passwords/group.file<br />
Require Group admins
</example>
<p>Note que <code>AllowOverride AuthConfig</code> precisa estar
habilitado para que estas diretrizes tenham efeito.</p>
<p>Por favor veja o <a href="auth.html">tutorial de
autentica&#231;&#227;o</a> para uma discuss&#227;o mais completa sobre
autentica&#231;&#227;o e autoriza&#231;&#227;o.</p>
</section>
<section id="ssi"><title>Exemplo de Server Side Includes</title>
<p>Outro uso comum de arquivos <code>.htaccess</code> &#233; ativar o
Server Side Includes para um diret&#243;rio em particular. Isto pode
ser feito com as seguintes diretrizes de configura&#231;&#227;o, colocadas em
um arquivo <code>.htaccess</code> no diret&#243;rio desejado:</p>
<example>
Options +Includes<br />
AddType text/html shtml<br />
AddHandler server-parsed shtml
</example>
<p>Note que ambos <code>AllowOverride Options</code> e
<code>AllowOverride FileInfo</code> precisam estar habilitados
para essas diretrizes terem efeito.</p>
<p>Por favor veja o <a href="ssi.html">tutorial de SSI</a> para
uma discuss&#227;o mais completa sobre server-side includes.</p>
</section>
<section id="cgi"><title>Exemplo de CGI</title>
<p>Finalmente, voc&#234; pode querer que um arquivo
<code>.htaccess</code> permita a execu&#231;&#227;o de programas CGI em um
diret&#243;rio em particular. Isto pode ser implementado com as
seguintes configura&#231;&#245;es:</p>
<example>
Options +ExecCGI<br />
AddHandler cgi-script cgi pl
</example>
<p>Alternativamente, se voc&#234; desejar que todos os arquivos de um
dado diret&#243;rio, sejam considerados programas CGI, isso pode ser
feito com a seguinte configura&#231;&#227;o:</p>
<example>
Options +ExecCGI<br />
SetHandler cgi-script
</example>
<p>Note que ambos <code>AllowOverride Options</code> e
<code>AllowOverride FileInfo</code> precisam estar habilitados
para que essas diretrizes tenham quaisquer efeito.</p>
<p>Por favor veja o <a href="cgi.html">tutorial de CGI
tutorial</a> para uma discuss&#227;o mais completa sobre programa&#231;&#227;o
e configura&#231;&#227;o CGI.</p>
</section>
<section id="troubleshoot"><title>Resolvendo Problemas</title>
<p>Quando voc&#234; adiciona diretrizes de configura&#231;&#227;o em um arquivo
<code>.htaccess</code>, e n&#227;o obt&#233;m o efeito desejado, existe uma
s&#233;rie de pontos que podem estar errados.</p>
<p>Mais comumente, o problema &#233; que a diretriz <directive
module="core">AllowOverride</directive> n&#227;o est&#225; habilitada
corretamente para que as suas diretrizes de configura&#231;&#245;es sejam
honradas. Verifique se voc&#234; n&#227;o possui <code>AllowOverride
None</code> ajustado para o escopo do arquivo em quest&#227;o. Um bom
meio de testar isso &#233; colocar "lixo" em seu arquivo
<code>.htaccess</code> e recarreg&#225;-lo. Se n&#227;o for gerado nenhum
erro do servidor, certamente voc&#234; tem <code>AllowOverride
None</code> habilitado.</p>
<p>Se, por outro lado, voc&#234; est&#225; obtendo erros do servidor ao
tentar acessar documentos, verifique o registro de erros do
Apache. Ele provavelmente ir&#225; indicar que a diretriz usada em
seu arquivo <code>.htaccess</code> n&#227;o &#233; permitida.
Alternativamente, ele pode acusar erros de sintaxe que voc&#234; ter&#225;
que corrigir.</p>
</section>
</manualpage>