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="pt-br" xml:lang="pt-br"><head><!--
4
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5
This file is generated from xml source: DO NOT EDIT
6
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8
<title>Tutorial do Apache: arquivos .htaccess - Servidor HTTP Apache</title>
9
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
13
<body id="manual-page"><div id="page-header">
14
<p class="menu"><a href="../mod/">M�dulos</a> | <a href="../mod/directives.html">Diretrizes</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Gloss�rio</a> | <a href="../sitemap.html">Mapa do site</a></p>
15
<p class="apache">Servidor HTTP Apache Vers�o 2.2</p>
16
<img alt="" src="../images/feather.gif" /></div>
17
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
19
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documenta��o</a> > <a href="../">Vers�o 2.2</a> > <a href="./">How-To / Tutoriais</a></div><div id="page-content"><div id="preamble"><h1>Tutorial do Apache: arquivos .htaccess</h1>
21
<p><span>L�nguas Dispon�veis: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
22
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
23
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
24
<a href="../pt-br/howto/htaccess.html" title="Portugu�s (Brasil)"> pt-br </a></p>
27
<p>Arquivos <code>.htaccess</code> oferecem um meio de fazer mudan�as
28
nas configura��es por-diret�rio.</p>
30
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Arquivos .htaccess </a></li>
31
<li><img alt="" src="../images/down.gif" /> <a href="#what">O que eles s�o/Como us�-los</a></li>
32
<li><img alt="" src="../images/down.gif" /> <a href="#when">Quando (n�o) usar arquivos .htaccess</a></li>
33
<li><img alt="" src="../images/down.gif" /> <a href="#how">Como as diretrizes s�o aplicadas</a></li>
34
<li><img alt="" src="../images/down.gif" /> <a href="#auth">Exemplo de Autentica��o</a></li>
35
<li><img alt="" src="../images/down.gif" /> <a href="#ssi">Exemplo de Server Side Includes</a></li>
36
<li><img alt="" src="../images/down.gif" /> <a href="#cgi">Exemplo de CGI</a></li>
37
<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Resolvendo Problemas</a></li>
39
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
41
<h2><a name="related" id="related">Arquivos .htaccess </a></h2>
42
<table class="related"><tr><th>M�dulos Relacionados</th><th>Diretrizes Relacionadas</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>
43
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
45
<h2><a name="what" id="what">O que eles s�o/Como us�-los</a></h2>
48
<p>Os arquivos <code>.htaccess</code> (ou "arquivos de
49
configura��o distribu�da") oferecem um meio de fazer mudan�as nas
50
configura��es por-diret�rio. Um arquivo, contendo uma ou mais
51
diretrizes de configura��es, � colocado em um diret�rio
52
em particular, e as diretrizes se aplicam para aquele diret�rio e todos
53
os seu subdiret�rios subseq�entes.</p>
55
<div class="note"><h3>Nota:</h3>
56
<p>Se voc� quiser renomear o seu arquivo <code>.htaccess</code>
57
para outro nome, voc� deve usar a diretriz <code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code>. Por exemplo, se voc�
58
prefere que o arquivo se chame <code>.config</code>, ent�o voc�
59
pode adicionar a seguinte linha ao seu arquivo de configura��o
62
<div class="example"><p><code>
63
AccessFileName .config
67
<p>No geral, arquivos <code>.htaccess</code> usam a mesma sintaxe
68
que os <a href="../configuring.html#syntax">arquivos de
69
configura��o principal</a>. O que voc� pode colocar nesses
70
arquivos � determinado pele diretriz <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Essa diretriz especifica,
71
em categorias, quais diretrizes ser�o aceitas caso sejam
72
encontradas em um arquivo <code>.htaccess</code>. Se uma diretriz
73
for permitida em um arquivo <code>.htaccess</code>, a documenta��o
74
para essa diretriz ir� conter uma se��o <em>Override</em>,
75
especificando que valor precisa estar em <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> para que esta diretriz
78
<p>Por exemplo, se voc� procurar na documenta��o pela diretriz
79
<code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code>, voc�
80
achar� que ela � permitida nos arquivos <code>.htaccess</code>.
81
(Veja a linha Contexto no sum�rio das diretivas.) A
82
linha <a href="../mod/directive-dict.html#Context">Override</a> l�
83
<code>FileInfo</code>. Ent�o, voc� deve ao menos ter
84
<code>AllowOverride FileInfo</code> para que essa diretriz seja
85
aceita nos arquivos <code>.htaccess</code>.</p>
87
<div class="example"><h3>Exemplo:</h3><table>
89
<td><a href="../mod/directive-dict.html#Context">Contexto:</a></td>
90
<td>configura��o do servidor, hospedeiros virtuais, diret�rio, .htaccess</td>
94
<td><a href="../mod/directive-dict.html#Override">Override:</a></td>
99
<p>Se voc� estiver incerto se uma diretriz em particular �
100
aceita em um arquivo <code>.htaccess</code>, procure na
101
documenta��o por essa diretriz, e verifique a linha de
102
Contexto por ".htaccess".</p> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
103
<div class="section">
104
<h2><a name="when" id="when">Quando (n�o) usar arquivos .htaccess</a></h2>
106
<p>No geral, voc� nunca deve usar arquivos <code>.htaccess</code>
107
a n�o ser que voc� n�o tenha acesso ao arquivo de configura��o
108
principal do servidor. Existe, por exemplo, um erro de concep��o
109
que dita que a autentica��o de usu�rios sempre deve
110
ser feita usando os arquivos <code>.htaccess</code>. Esse
111
simplesmente n�o � o caso. Voc� pode usar as configura��es de
112
autentica��o de usu�rio no arquivo de configura��o principal do
113
servidor, e isso �, de fato, a maneira mais adequada de se fazer
116
<p>Arquivos <code>.htaccess</code> devem ser usados em casos onde
117
os provedores de conte�do do site precisem fazer mudan�as na
118
configura��o do servidor por-diret�rio, mas n�o tem
119
acesso <em>root</em> ao sistema do servidor. Caso o administrador do
120
servidor n�o esteja disposto a fazer mudan�as freq�entes nas
121
configura��es do servidor, � desej�vel permitir que os
122
usu�rios possam fazer essas mudan�as atrav�s de arquivos
123
<code>.htaccess</code> eles mesmos. Isso � particularmente
124
verdade, por exemplo, em casos onde provedores est�o fornecendo
125
m�ltiplos sites para usu�rios em apenas uma m�quina, e querem que
126
seus usu�rios possam alterar suas configura��es.</p>
128
<p>No entanto, de modo geral, o uso de arquivos <code>.htaccess</code>
129
deve ser evitado quando poss�vel. Quaisquer configura��es
130
que voc� considerar acrescentar em um arquivo <code>.htaccess</code>, podem
131
ser efetivamente colocadas em uma se��o <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> no arquivo principal de
132
configura��o de seu servidor.</p>
134
<p>Existem duas raz�es principais para evitar o uso de arquivos
135
<code>.htaccess</code>.</p>
137
<p>A primeira delas � a performance. Quando <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> � configurado para
138
permitir o uso de arquivos <code>.htaccess</code>, o Apache procura
139
em todos diret�rios por arquivos <code>.htaccess</code>.
140
Logo, permitir arquivos <code>.htaccess</code> causa um impacto na
141
performance, mesmo sem voc� us�-los de fato! Al�m disso,
142
o arquivo <code>.htaccess</code> � carregado toda vez que um documento
145
<p>Al�m disso, note que o Apache precisa procurar pelos arquivos
146
<code>.htaccess</code> em todos os diret�rios superiores, para ter
147
o complemento total de todas as diretivas que devem ser
148
aplicadas. (Veja a se��o <a href="#how">como as diretrizes s�o
149
aplicadas</a>.) Ent�o, se um arquivo de um diret�rio
150
<code>/www/htdocs/example</code> � requerido, o Apache precisa
151
procurar pelos seguintes arquivos:</p>
153
<div class="example"><p><code>
156
/www/htdocs/.htaccess<br />
157
/www/htdocs/example/.htaccess
160
<p>Assim, para cada acesso de arquivo fora desse diret�rio,
161
existem 4 acessos ao sistema de arquivos adicionais, mesmo
162
que nenhum desses arquivos estejam presentes. (Note que esse
163
s� ser� o caso se os arquivos <code>.htaccess</code>
164
estiverem habilitados para <code>/</code>, o que
165
normalmente n�o � o verdade.)</p>
167
<p>A segunda considera��o � relativa � seguran�a.
168
Voc� est� permitindo que os usu�rios modifiquem as
169
configura��es do servidor, o que pode resultar em mudan�as
170
que podem fugir ao seu controle. Considere com cuidado se voc� quer
171
ou n�o dar aos seus usu�rios esses privil�gios. Note tamb�m
172
que dar aos usu�rios menos privil�gios que eles precisam, acarreta em
173
pedidos de suporte t�cnico adicionais. Tenha certeza que voc� comunicou
174
aos usu�rios que n�vel de privil�gios voc� os deu.
175
Especificar exatamente o que voc� configurou na diretriz <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>, e direcion�-los para a
176
documenta��o relevante, ir� poup�-lo de muita confus�o
179
<p>Perceba que � exatamente equivalente colocar o arquivo
180
<code>.htaccess</code> em um diret�rio
181
<code>/www/htdocs/example</code> contendo uma diretriz, e
182
adicionar a mesma diretriz em uma se��o <em>Directory</em>
183
<code><Directory /www/htdocs/example></code> na configura��o
184
principal do seu servidor:</p>
186
<p>Arquivo <code>.htaccess</code> em <code>/www/htdocs/example</code>:</p>
188
<div class="example"><h3>Conte�do de um arquivo .htaccess em
189
<code>/www/htdocs/example</code></h3><p><code>
190
AddType text/example .exm
193
<div class="example"><h3>Se��o do seu arquivo <code>httpd.conf</code></h3><p><code>
194
<Directory /www/htdocs/example><br />
195
<span class="indent">
196
AddType text/example .exm<br />
201
<p>No entanto, adicionando isso ao seu arquivo de configura��o do
202
servidor resultar� em uma menor perda de performance, na medida que
203
a configura��o � carregada no momento da inicializa��o do
204
servidor, ao inv�s de toda que que um arquivo � requerido.</p>
206
<p>O uso de arquivos <code>.htaccess</code> pode ser totalmente
207
desabilitado, ajustando a diretriz <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> para <code>none</code>:</p>
209
<div class="example"><p><code>
212
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
213
<div class="section">
214
<h2><a name="how" id="how">Como as diretrizes s�o aplicadas</a></h2>
216
<p>As diretrizes de configura��o que se encontram em um arquivo
217
<code>.htaccess</code> s�o aplicadas para o diret�rio no qual o
218
arquivo <code>.htaccess</code> se encontra, e para todos os
219
subdiret�rios ali presentes. Mas, � importante lembrar tamb�m que
220
podem existir arquivos <code>.htaccess</code> no diret�rios
221
superiores. As diretrizes s�o aplicadas na ordem que s�o
222
achadas. Logo, um arquivo <code>.htaccess</code> em um diret�rio
223
em particular, pode sobrescrever as diretrizes encontradas em um
224
diret�rio acima deste em sua respectiva �rvore. Estes, por sua vez,
225
podem ter suas diretrizes sobrescritas por diretrizes ainda mais
226
acima, ou no pr�prio arquivo de configura��o principal do
231
<p>No diret�rio <code>/www/htdocs/example1</code> n�s temos
232
um arquivo <code>.htaccess</code> contendo o seguinte:</p>
234
<div class="example"><p><code>
238
<p>(Nota: voc� deve ter "<code>AllowOverride Options</code>" para
239
permitir o uso da diretriz "<code class="directive"><a href="../mod/core.html#options">Options</a></code>" nos arquivos
240
<code>.htaccess</code> .)</p>
242
<p>No diret�rio <code>/www/htdocs/example1/example2</code> n�s temos
243
um arquivo <code>.htaccess</code> contendo:</p>
245
<div class="example"><p><code>
249
<p>Devido a esse segundo arquivo <code>.htaccess</code>, no
250
diret�rio <code>/www/htdocs/example1/example2</code>, a execu��o
251
de scripts CGI n�o � permitida, pois somente <code>Options
252
Includes</code> est� em efeito, o que sobrescreve completamente
253
quaisquer outros ajustes previamente configurados.</p>
254
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
255
<div class="section">
256
<h2><a name="auth" id="auth">Exemplo de Autentica��o</a></h2>
258
<p>Se voc� veio diretamente � esta parte do documento para
259
aprender como fazer autentica��o, � importante notar uma
260
coisa. Existe uma concep��o errada, mas muito comum, de que �
261
necess�rio o uso de arquivos <code>.htaccess</code> para implementar
262
a autentica��o por senha. Este n�o � o caso. Colocar
263
diretrizes de senha em uma se��o <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, no seu arquivo principal de
264
configura��o do servidor, � a melhor maneira de se implementar
265
isto, e os arquivos <code>.htaccess</code> devem ser usados apenas
266
se voc� n�o tem acesso ao arquivo principal de configura��o do
267
servidor. Veja <a href="#when">acima</a> a discuss�o sobre quando
268
voc� deve e quando n�o deve usar os arquivos
269
<code>.htaccess</code>.</p>
271
<p>Dito isso, se voc� ainda acredita que precisa usar um arquivo
272
<code>.htaccess</code>, a configura��o a seguir provavelmente
273
funcionar� para voc�.</p>
275
<p>Conte�do de um arquivo <code>.htaccess</code>:</p>
277
<div class="example"><p><code>
279
AuthName "Password Required"<br />
280
AuthUserFile /www/passwords/password.file<br />
281
AuthGroupFile /www/passwords/group.file<br />
285
<p>Note que <code>AllowOverride AuthConfig</code> precisa estar
286
habilitado para que estas diretrizes tenham efeito.</p>
288
<p>Por favor veja o <a href="auth.html">tutorial de
289
autentica��o</a> para uma discuss�o mais completa sobre
290
autentica��o e autoriza��o.</p>
291
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
292
<div class="section">
293
<h2><a name="ssi" id="ssi">Exemplo de Server Side Includes</a></h2>
295
<p>Outro uso comum de arquivos <code>.htaccess</code> � ativar o
296
Server Side Includes para um diret�rio em particular. Isto pode
297
ser feito com as seguintes diretrizes de configura��o, colocadas em
298
um arquivo <code>.htaccess</code> no diret�rio desejado:</p>
300
<div class="example"><p><code>
301
Options +Includes<br />
302
AddType text/html shtml<br />
303
AddHandler server-parsed shtml
306
<p>Note que ambos <code>AllowOverride Options</code> e
307
<code>AllowOverride FileInfo</code> precisam estar habilitados
308
para essas diretrizes terem efeito.</p>
310
<p>Por favor veja o <a href="ssi.html">tutorial de SSI</a> para
311
uma discuss�o mais completa sobre server-side includes.</p>
312
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
313
<div class="section">
314
<h2><a name="cgi" id="cgi">Exemplo de CGI</a></h2>
316
<p>Finalmente, voc� pode querer que um arquivo
317
<code>.htaccess</code> permita a execu��o de programas CGI em um
318
diret�rio em particular. Isto pode ser implementado com as
319
seguintes configura��es:</p>
321
<div class="example"><p><code>
322
Options +ExecCGI<br />
323
AddHandler cgi-script cgi pl
326
<p>Alternativamente, se voc� desejar que todos os arquivos de um
327
dado diret�rio, sejam considerados programas CGI, isso pode ser
328
feito com a seguinte configura��o:</p>
330
<div class="example"><p><code>
331
Options +ExecCGI<br />
332
SetHandler cgi-script
335
<p>Note que ambos <code>AllowOverride Options</code> e
336
<code>AllowOverride FileInfo</code> precisam estar habilitados
337
para que essas diretrizes tenham quaisquer efeito.</p>
339
<p>Por favor veja o <a href="cgi.html">tutorial de CGI
340
tutorial</a> para uma discuss�o mais completa sobre programa��o
341
e configura��o CGI.</p>
342
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
343
<div class="section">
344
<h2><a name="troubleshoot" id="troubleshoot">Resolvendo Problemas</a></h2>
346
<p>Quando voc� adiciona diretrizes de configura��o em um arquivo
347
<code>.htaccess</code>, e n�o obt�m o efeito desejado, existe uma
348
s�rie de pontos que podem estar errados.</p>
350
<p>Mais comumente, o problema � que a diretriz <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> n�o est� habilitada
351
corretamente para que as suas diretrizes de configura��es sejam
352
honradas. Verifique se voc� n�o possui <code>AllowOverride
353
None</code> ajustado para o escopo do arquivo em quest�o. Um bom
354
meio de testar isso � colocar "lixo" em seu arquivo
355
<code>.htaccess</code> e recarreg�-lo. Se n�o for gerado nenhum
356
erro do servidor, certamente voc� tem <code>AllowOverride
357
None</code> habilitado.</p>
359
<p>Se, por outro lado, voc� est� obtendo erros do servidor ao
360
tentar acessar documentos, verifique o registro de erros do
361
Apache. Ele provavelmente ir� indicar que a diretriz usada em
362
seu arquivo <code>.htaccess</code> n�o � permitida.
363
Alternativamente, ele pode acusar erros de sintaxe que voc� ter�
367
<div class="bottomlang">
368
<p><span>L�nguas Dispon�veis: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
369
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
370
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
371
<a href="../pt-br/howto/htaccess.html" title="Portugu�s (Brasil)"> pt-br </a></p>
372
</div><div id="footer">
373
<p class="apache">Copyright 2006 The Apache Software Foundation.<br />Licenciado sob a <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
374
<p class="menu"><a href="../mod/">M�dulos</a> | <a href="../mod/directives.html">Diretrizes</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Gloss�rio</a> | <a href="../sitemap.html">Mapa do site</a></p></div>
b'\\ No newline at end of file'