Marco Antonio Postado Outubro 12, 2010 Compartilhar Postado Outubro 12, 2010 (editado) Qual webdesigner que já não se esbarrou no famoso arquivo .htaccess e se perguntou para que serve esse arquivo? Na Dúvida, melhor não mexer. Para que você não passe por isso novamente, vamos desvendar todos os segredos desse arquivo. Antes de continuarmos, vamos definir o que é o arquivo .htaccess: O .htaccess é um arquivo que fica no servidor web e serve para configurar o tipo de acesso a esse servidor. Com ele, pode-se controlar diversos parâmetros como: acesso restrito (com ou sem uso de senha), páginas de erro padrão, página padrão de acesso ao site, acesso com e sem o “www”, redirecionar diretivas, entre outros. O uso correto do arquivo .htaccess provê grande auxilio no SEO do site. Nota: Ao colocar um arquivo .htaccess na pasta raiz de um site, ele atuará sobre todas as pastas deste. Mas, um arquivo .htaccess uma subpasta anula a ação do anterior passando a agir sobre essa pasta e suas subpastas. Exemplo de um arquivo .htaccess comentado: // ——- Autenticação com senha ativado ———–// deny from all AuthUserFile /site/.htpasswd AuthGroupFile /dev/null AuthName “Please enter your ID and password” AuthType Basic require valid-user //——- páginas de erro padrão ———–// ErrorDocument 400 erro400.html ErrorDocument 401 erro401.html … xxx erroXXX.html ErrorDocument 504 erro504.html ErrorDocument 505 erro505.html RewriteEngine on //———– Evitando Conteúdo duplicado ———–// RewriteCond %{HTTP_HOST} ^(webinhost\.com\.br)(:80)? [NC] RewriteRule ^(.*) http://www.webinhost.com.br/$1 [R=301,L] //———– Página Padrão ———–// DirectoryIndex páginadefault.html //———– Redirecionamento Permanente ———–// Redirect permanent www.movapermanentedaqui.com www.movidopermanenteparaca.com //———– Redirecionamento Temporário ———–// Redirect temp www.movatemporariodaqui.com www.movidoparacatemporario.com order deny,allow //——— Páginas permitidas ————-// allow from www.endereçopermitido.com.br //——— Páginas Bloqueadas ————-// deny from www.endereçonegado.com.br Vamos às requisições do código: Nota: Mantenha o seu arquivo .htaccess sempre organizado e não coloque instruções desnecessárias para não pesar o arquivo, pois o servidor o processa sempre que há uma requisição. Comentários: para inserir um comentário utilize um # antes do conteúdo da linha. Não listar o conteúdo de um diretório: Quando se tenta acessar um diretório, em ausência de um arquivo de índice, o Apache mostra por defaut o conteúdo do diretório. Se quisermos impedir a visualização desse conteúdo bastaria criar um arquivo de índice, por exemplo index.html, mas existe uma solução mais elegante mediante a diretiva Options. Basta inserir o comando: Options -Indexes Página padrão: Também poderíamos utilizar a diretiva DirectoryIndex, que especifica que arquivos atuam como índice por defeito, e que arquivo mostrar no caso de que estes não se encontrem. Por exemplo a linha: DirectoryIndex index.php index.html index.htm /proibido.php Isto indicaria ao servidor que deve buscar os arquivos index.php, index.html ou index.htm, nessa ordem, e no caso de não encontrar nenhum deles, carregar o arquivo proibido.php. Página de erro (exemplo erro 404): Primeiramente, crie o layout da página de erro. Depois, inclua o código. ErrorDocument 404 http://www.meusite.com/404.html Você pode especificar qualquer arquivo que desejar para a personalização do erro e o que deve ser feito para implementá-lo é somente adicionar uma linha de comando pra cada erro ao .htaccess com o seguinte formato: ErrorDocument 404 erro404.html ou ErrorDocument 404 arq_inexist.htm ErrorDocument 403 erro403.html ou ErrorDocument 403 proibido.htm ErrorDocument 500 erro500.php ou ErrorDocument 500 erro_interno.asp Escondendo a extensão da linguagem de script:Pode-se aumentar a segurança mudando a extensão dos scripts para que os visitantes desconheçam que linguagem está utilizando.# Make PHP code look like unknown typesAddType application/x-httpd-php .cool, desta forma, os arquivos .cool serão tratados como se fossem arquivos PHP. Deve-se renomear os arquivos PHP para a nova extensão. Bloquear acesso ao site por IP: Sempre existem os malas que ficam vasculhando o seu site a procura de falhas pra entrar, causar problemas e pichar. É só bloqueá-lo adicionando uma linha de comando com o seguinte formato: order allow,deny deny from 012.34.5.6 deny from 012.34.5. allow from all A primeira linha bloqueia e não permite que o IP de endereço 012.345.5.6 acesse o site. A segunda linha bloqueia o acesso para o bloco de 012.34.5.1 até 012.34.5.255. A terceira linha permite a todos os outros acessarem o site. Se você quer somente visitantes do Brasil você poderia configurá-lo assim: order allow,deny deny from all allow from 200. alow from 201. Quer bloquear os usuários de um determinado provedor/servidor e não sabe o range de IP, sem problemas: order allow,deny deny from .veloxzone.com.br allow from all Redirecionamento: As formas de redirecionar páginas são diversas : javascript, PHP, HTML(http-equiv),etc. Não é diferente com o .htaccess, e bem simples também: Redirect /dirantigo/pagina_velha.html http://www.seusite.com/dirnovo/pagina_nova.html As 3 partes que compõem esta diretiva são separadas por espaço e note que o comando é composto de 3 partes que precisam estar numa mesma linha: a primeira é o comando Redirect seguido da localização do arquivo/diretório que você quer redirecionar, relativa ao diretório principal do seu site, e a terceira é o endereço completo do novo arquivo para o qual deve ser redirecionado. Há ainda a possibilidade de se redirecionar todo um diretório : Redirect /dirantigo/ http://www.seusite.com/dirnovo/ As aplicações são várias, desde repor a informação de um arquivo que você mudou de diretório ou/e de nome até ao redirecionamento de um usuário que requisitou a visualização de um diretório não permitido, por exemplo o de imagens. Prevenindo-se contra “hot-linking”: “Hot Linking” são links que apontam diretamente pra arquivos não HTML e roubam/decrescem a sua banda contratada. E também possível evitar isso com o .htaccess, mas antes verifique com o seu servidor se ele permite mod-rewrite. Segue abaixo o código: RewriteCond %{HTTP_REFERER} !^http://seusite.com.br/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.seusite.com.br/.*$ [NC] RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ – [F,NC] O código acima apresenta um link quebrado para a imagem, mas se desejar mostrar sua logo ou coisa parecida, use: RewriteCond %{HTTP_REFERER} !^http://seusite.com.br/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.seusite.com.br/.*$ [NC] RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ http://www.seusite.com/sua_logo.gif [R,L] Impedindo a listagem de diretórios: Existe sempre aquela situação de ter um diretório cheio de arquivos que não desejamos que sejam listados. Existem duas possibilidades pra se fazer isso: a primeira é criar um arquivo index.html vazio e colocar no diretório e a outra com o .htaccess: IndexIgnore *Se este comando estiver no arquivo .htaccess do diretório principal, a listagem de todos os diretórios estarão desabilitadas. Mas você pode também especificar o tipo de arquivo que você não quer que seja listado: IndexIgnore *.wmv *.jpg *.gif *.swf Proibe a visualização do arquivo .htaccess: order allow,deny deny from all Caso nao tiver o arquivo .htaccess baixe ele no seguinte link: http://webinhost.com.br/Downloads/htacces.zip Dica: Um excelente site para ediçao do .htaccess e o site: http://www.htaccesseditor.com/pt.shtml é em portugues e facil de interargir. Fonte do artigo: http://www.marcelo-alves.com/72dpi/2009/11/desvendando-o-arquivo-htaccess/ Editado Fevereiro 18, 2011 por admin Faltou citar a fonte do artigo. Link para o comentário Compartilhar em outros sites More sharing options...
Rômulo Host Sagrado Postado Outubro 12, 2010 Compartilhar Postado Outubro 12, 2010 show de bola Marco, Mais uma vez Parabens! Link para o comentário Compartilhar em outros sites More sharing options...
PedroFelipe Postado Outubro 12, 2010 Compartilhar Postado Outubro 12, 2010 Muito bom. Parabéns! Link para o comentário Compartilhar em outros sites More sharing options...
MCelow Postado Outubro 12, 2010 Compartilhar Postado Outubro 12, 2010 Marco, Show de bola! Obrigado pelo tutorial! Abs! Link para o comentário Compartilhar em outros sites More sharing options...
Patty Postado Outubro 13, 2010 Compartilhar Postado Outubro 13, 2010 Maravilha, Marco! Vou postar no meu fórum, se vc não se importa. Com crédito a vc, claro! ;) Link para o comentário Compartilhar em outros sites More sharing options...
Marco Antonio Postado Outubro 13, 2010 Autor Compartilhar Postado Outubro 13, 2010 patty a vontade Link para o comentário Compartilhar em outros sites More sharing options...
tekobr Postado Outubro 13, 2010 Compartilhar Postado Outubro 13, 2010 Parabéns, Marco. Link para o comentário Compartilhar em outros sites More sharing options...
chuvadenovembro Postado Outubro 13, 2010 Compartilhar Postado Outubro 13, 2010 muito boa a dica, achei legal o esquema de bloquear por provedor. █ AtarWeb.com.br • Hospedagem de Site + SSL Grátis █ Revenda de Hospedagem DirectAdmin SSD + SSL Grátis Link para o comentário Compartilhar em outros sites More sharing options...
MarceloAlves Postado Fevereiro 18, 2011 Compartilhar Postado Fevereiro 18, 2011 Parabéns pelo tópico Marco, porém você se esqueceu de citar o meu nome como autor e de colocar o link original do site. Vou fazer isso pra você, ok! http://www.marcelo-alves.com/72dpi/2009/11/desvendando-o-arquivo-htaccess/ Link para o comentário Compartilhar em outros sites More sharing options...
Roots Postado Fevereiro 18, 2011 Compartilhar Postado Fevereiro 18, 2011 Parabéns pelo tópico Marco, porém você se esqueceu de citar o meu nome como autor e de colocar o link original do site. Vou fazer isso pra você, ok! http://www.marcelo-alves.com/72dpi/2009/11/desvendando-o-arquivo-htaccess/ Parabéns brother, muito boa a esplanação! Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados