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.
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
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.
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.
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:
6. Configurar o Ambiente
Escolha a versão de php a utilizar, configure register_global, zend optimizer, ioncube, magic quotes…
Exemplo: Utilizar php4
7. Remover WWW no URL
RewriteCond %{HTTP_HOST} !^meusite.com$ [NC]
RewriteRule ^(.*)$ http://meusite.com/$1 [L,R=301]
8. Remover Extensão de Ficheiros nos URL
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.
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.
AddDefaultCharset UTF-8
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
se puder dar algumas outras dicas de otimização também agradeço!.