10 Dicas Sobre o Ficheiro .htaccess

1. Filtrar os IPs

Pode proibir o acesso a certos utilizadores em função dos seus endereços IPs. Muito útil para permitir o acesso de uma parte em trabalhos unicamente aos programadores.

Deny from all
Allow from 192.168.xxx.xxx

2. Gerir cookies

O .htaccess permite-lhe efectuar operações nos cookies dos seus visitantes. Pode criar cookies, os alterar, recuperar valors, aplicar reencaminhamentos…
Exemplo:
Reencaminhamento se o cookie não estiver criado

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} !^.*cookie-name.*$ [NC]
RewriteRule .* /login-error/set-cookie-first.cgi [NC,L]

3. Re-escrever URL complexas

Re-escreva os seus url complexos afim de facilitar a leitura aos seus visitantes.

# Activação do módulo de re-escrita do URL :
RewriteEngine on
# Regras da re-escritura do URL :
RewriteRule ^calendar-(w+)-(d+)-(d+)-(d+).html$ /calendar.php?user=$1&day=$2&month=$3&year=$4

4. Personalizar as páginas de erros habituais

Substituir as habituais páginas 404,401,403,500… por páginas com o design do seu site.

Exemplo:
ErrorDocument 401 /autorisation_requise.html
ErrorDocument 400 /mauvaise_requete.html
ErrorDocument 403 /interdit.html
ErrorDocument 404 /page_inexistante.html

5. Gerir Reencaminhamentos

Oriente os visitantes do seu site com reencaminhamentos temporários ou permanentes.
Exemplo:

RedirectPermanent /photos/vacances-canada.html /canada.html

6. Configurar o Ambiente

Escolha a versão de php a utilizar, configure register_global, zend optimizer, ioncube, magic quotes…
Exemplo: Utilizar php4

AddHandler application/x-httpd-php4 .php .php4 .php3

7. Remover WWW no URL

RewriteEngine On
RewriteCond %{HTTP_HOST} !^meusite.com$ [NC]
RewriteRule ^(.*)$ http://meusite.com/$1 [L,R=301]

8. Remover Extensão de Ficheiros nos URL

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html
# Replace html with your file extension, eg: php, htm, asp

9. Prevenir Listagem de Directórios

Geralmente, num servidor, quando um determinado directório não contem um ficheiro index, o Apache mostra automaticamente uma listagem de todos os ficheiros presentes nesse directório. Ou seja, se existir uma pasta com imagens e se alguém aceder ao endereço dessa pasta, poderá ver todo o conteúdo dessa pasta. Se não deseja que ninguém veja uma lista dos ficheiros que estão nas pastas do servidor, copie e cole o seguinte código para o ficheiro .htaccess.

Options -Indexes

10. Adicionar UTF-8 aos ficheiros automaticamente

De forma e evitar problemas de codificação, pode-se forçar um determinado tipo de codificação directamente a partir do seu ficheiro .htaccess. Dessa forma, garante-se que todos os seus ficheiros HTML serão renderizados correctamente, mesmo que se esqueça de adicionar uma directivaás páginas HTML.

<FilesMatch ".(htm|html|css|js)$">
AddDefaultCharset UTF-8

You may also like...

2 Responses

  1. alvaro marcelo diz:

    Boa tarde amigo, estou tentando remover o www do meu dominio com o seguinte htaccess entre outras funçoes:

    #mensagem de erro
    ErrorDocument 400 /erro.php
    ErrorDocument 401 /erro.php
    ErrorDocument 403 /erro.php
    ErrorDocument 404 /erro.php
    ErrorDocument 500 /erro.php
    #removendo mostra de arquivos em pastas sem index
    Options -Indexes
    #utilizando o mod_gzip

    mod_gzip_on Yes
    mod_gzip_dechunk Yes
    mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
    mod_gzip_item_include handler ^cgi-script$
    mod_gzip_item_include mime ^text/.*
    mod_gzip_item_include mime ^application/x-javascript.*
    mod_gzip_item_exclude mime ^image/.*
    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

    ## COMEÇA BROWSER CACHE ##

    ExpiresActive On
    ExpiresByType image/jpg “access plus 1 year”
    ExpiresByType image/jpeg “access plus 1 year”
    ExpiresByType image/gif “access plus 1 year”
    ExpiresByType image/png “access plus 1 year”
    ExpiresByType text/css “access plus 1 month”
    ExpiresByType application/pdf “access plus 1 month”
    ExpiresByType text/x-javascript “access plus 1 month”
    ExpiresByType application/x-shockwave-flash “access plus 1 month”
    ExpiresByType image/x-icon “access plus 1 year”
    ExpiresDefault “access plus 2 days”

    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^quebrandolink.com.br$ [NC]
    RewriteRule ^(.*)$ http://quebrandolink.com.br/$1 [L,R=301]

    mas o site me retorna um erro:

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

    tanto em localhost como no servidor online, poderia me ajudar.? obrigado

  2. se puder dar algumas outras dicas de otimização também agradeço!.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *