Hola, chicos,
¡Buen día!
En esta publicación compartiré información muy útil relacionada con el archivo .htaccess, que es el archivo de configuración del servidor Apache HTTP, sobre el cual ya he realizado algunas publicaciones. en este enlace. Estos consejos los encontré en el blog. http://www.deuzebranaweb.com.br/ y pensé que el contenido era excelente y decidí compartir estos pequeños y preciosos consejos contigo.
Para crear las reglas a continuación, abra el bloc de notas o similar, guárdelo como “todos los archivos” y con el nombre .htaccess. Cabe mencionar que algunos códigos sólo funcionarán si ciertas extensiones están habilitadas en Apache. Si algún código genera un error 500, habilite el módulo correspondiente en Apache. Y para evitar tales errores, cree los códigos en estructuras condicionales (
Ocultar el índice de URL
# se o seu site é feito em php, substitua os "html" pelo mesmo
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.html\ HTTP/
RewriteRule ^(([^/]+/)*)index\.html$ http://www.seusite.com.br/$1 [R=301,L]
Proteger su sitio web contra copia o mal uso de archivos (como scripts php, js, css, imágenes)
#Neste caso, se alguém que não está na lista acima tentar usar as suas imagens direto do seu site ou usar os seus scripts, mostrará uma tela com erro e as imagens não serão mostradas.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://seusite.com.br/.*$ [NC] #este site está liberado a usar (o seu site no caso)
RewriteCond %{HTTP_REFERER} !^http://www.seusite.com.br/.*$ [NC] #este site está liberado a usar
RewriteCond %{HTTP_REFERER} !^http://www.google.com.br/.*$ [NC] #liberar o google para usar as suas imagens
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|php|js|swf)$ – [F,NC]
Bloquear el acceso del archivo .htaccess a la URL
<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
Bloquear el acceso a archivos específicos a través de URL
<files seuarquivo.php>
order allow,deny
deny from all
</files>
Establecer el orden de carga de archivos predeterminado
De forma predeterminada, el archivo que se carga cuando escribe la URL del sitio web y abre una página web es index.html. Sin embargo, esto se puede cambiar fácilmente según sea necesario cambiando el archivo .htaccess del servidor.
Usando el código siguiente, definimos que la página predeterminada será index.php. Si este archivo no existe, se cargará el siguiente archivo de la lista (index.htm) y así sucesivamente, hasta llegar al último archivo de la lista (pagina.php). Si este último archivo no existe, Apache reproducirá un error en el navegador del visitante de su sitio web (Error 403 – Prohibido).
## Pagina padrao ##
DirectoryIndex index.php index.htm index.html pagina.php
Aumentar el tiempo de sesión de PHP
<IfModule mod_php5.c>
# Definir o tempo máximo de execucao do script para 30 mins (padrão: 60s)
php_value max_execution_time 1800
# Definir o tempo de expiração de sessao para 2 horas (padrão: 24 mins)
php_value session.cookie_lifetime 7200
php_value session.cache_expire 7200
php_value session.gc_maxlifetime 7200
</IfModule>
Pon siempre “www” en la URL
<IfModule mod_rewrite.c>
RewriteEngine On
# Redirecionar http://dominio.com.br para http://www.dominio.com.br
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,NE,L]
# Retirar / no final do link
RewriteCond %{HTTP_HOST} !^\. [NC]
RewriteRule ^(.+[^/])/$ http://%{HTTP_HOST}/$1 [R=301,L]
# Remover o index.php
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)$ / [R=301,L]
</IfModule>
Comprime archivos del sitio web para consumir menos ancho de banda
<IfModule mod_deflate.c>
<FilesMatch "\.(js|css|jpg|png|gif|ico|php|html|htm)$">
<ifModule mod_filter.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/css text/javascript application/x-javascript text/html text/plain text/xml image/x-icon
</IfModule>
</FilesMatch>
</IfModule>
Habilitar la compresión con DEFLATE
Esta es la compresión más fácil de configurar en el servidor y ya está habilitada de forma predeterminada. Utiliza menos procesamiento del servidor que GZip, pero no comprime tanto.
<IfModule mod_deflate.c>
# Compactar por tipo - html, text, css, xml
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml
# Compactar por tipo - javascript
AddOutputFilterByType DEFLATE application/x-javascript application/javascript text/javascript text/x-js text/x-javascript
# Compactar por extensão
AddOutputFilter DEFLATE js css htm html xml ttf eot
</IfModule>
Habilitando la compresión con GZip
GZip está ganando mucho espacio hoy en día en la Web debido a su gran poder de compresión de datos, reduciendo drásticamente los tiempos de carga de las páginas, especialmente cuando hablamos de Internet móvil (3G) en Brasil, que todavía es muy lento y precario en muchos lugares. Como presenta un alto nivel de compresión, requiere más procesamiento que el método de compresión DEFLATE.
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl|ttf|eot)$
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.*
</IfModule>
Crear páginas de error personalizadas
ErrorDocument 400 /sua-pagina-erro-400
ErrorDocument 404 /página-de-erro-404
ErrorDocument 500 /página-para-erro-500
Cambiar la página de inicio (predeterminada) del sitio web
DirectoryIndex minhaoutrapagina.html
Redirecionamento 301 com htaccess
Redirect 301 /página-a-ser-movida http://www.seusite.com.br/pagina-movida-para-ca
Listado de directorios de bloques
# Impedir a listagem de arquivos no endereço www.seudominio.com/images/
IndexIgnore /images/*
# Impedir a listagem do próprio .htaccess e várias outras extensões de arquivos, além do arquivo teste.xls
IndexIgnore .htaccess *.php *.js *.css *.htm *.html *.log *.sql *.pdf *.swf *.rtf *.doc *.odt teste.xls
# Impedir a listagem de qualquer arquivo e diretório
Options -Indexes
Forzar el uso de SSL
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://seu-site.com.br/$1 [R,L]
Desactivar distinción entre mayúsculas y minúsculas
CheckSpelling On
#agora a url PAGINA.HTML é igualmente acessada por pagina.html
Restringir el acceso por IP
Order allow,deny
allow from 192.168.0.
deny from all
# Deixa a somente a INTRANET acessar
Order deny,allow
deny from 192.168.0.25
allow from all
# Deixa todo mundo acessar, menos o IP 192.168.0.25
Order deny, allow
deny from all
#bloquear geral
Redirigir el acceso desde un sitio web a otra ubicación
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?bloqueado.com.br.*$ [NC]
RewriteRule .* http://www.antispam.br [R,L]
#Se o site "bloqueado" mandar algum visitante para aqui, é redirecionado para o "antispam"
Expresiones regulares
#todos os arquivos de uma página serão redirecionados para outra
RewriteEngine on
RewriteRule ^pagina-antiga/(.*) http://www.novosite.com.br/pagina-antiga/$1
#redirecionar somente os arquivos terminados em php
RewriteEngine om
RewriteRule ^pagina-antiga/(.*)\.php http://www.novosite.com.br/pagina-antiga/$1.php
#redirecionar tudo de um site para outro
RedirectMatch permanent /(.*) http://www.novosite.com/$1
Eliminar extensiones de URL
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
#neste caso, estou retirando apenas o HTML
Forzar el uso del juego de caracteres UTF-8 para archivos
<FilesMatch "\.(htm|html|css|js)$">
AddDefaultCharset UTF-8
</FilesMatch>
Caché del navegador: establecer el tiempo de caducidad (segundos)
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault A0
ExpiresByType image/gif A604800
ExpiresByType image/jpeg A604800
ExpiresByType image/png A604800
ExpiresByType text/css A604800
ExpiresByType text/javascript A604800
ExpiresByType application/x-javascript A604800
</ifModule>
Caché del navegador: establecer el control de caché (segundos)
<IfModule mod_headers.c>
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|xml|woff)$">
Header set Cache-Control "max-age=604800, public"
Header append Vary User-Agent env=!dont-vary
Header append Vary Accept-Encoding
Header unset Pragma
</FilesMatch>
</IfModule>
Caché del navegador: fuerce el uso del caché deshabilitando ETag
<IfModule mod_headers.c>
Header unset Etag
Header unset Last-Modified
</IfModule>
Agregar nuevos tipos MIME
AddType application/x-endnote-connection enz AddType application/x-endnote-filter enf AddType application/x-spss-savefile sav
Deshabilitar la ejecución de ciertos Scripts
Options -ExecCGI
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Cambiar el idioma predeterminado
DefaultLanguage en-US
Cambiar zona horaria predeterminada
SetEnv TZ America/Indianapolis
Forzar la descarga de ciertos archivos
AddType application/octet-stream .avi .mpg .mov .pdf .xls .mp4
Solicitud de bloqueo basada en usuario-agente
SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT
SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT
¡Eso es todo, amigos!
Espero que os haya gustado este post y hasta el próximo.
Comentários (0)
Carregando comentários…