| Actualizado 20/03/2020
Hoxe, a maioría das ofertas de hospedaxe web son para o servidor web Apache. É unha solución moito máis barata en comparación coa plataforma IIS en Windows. Apache é ben coñecido pola súa capacidade de usar .htaccess, onde podemos controlar certos aspectos do noso sitio web, incluíndo o rendemento.
Un dos máis populares é redireccionar calquera dominio sen www ao dominio con www .. Neste exemplo, se tentas ter acceso a https://www.webempresa.com, o servidor redirixirache a https://www.webempresa.com. Isto pode garantir que o PageRank ™ non estea dividido en dous. Para a súa información, Google trata estes dous dominios tan diferentes. Aquí tes unha guía dos códigos .htaccess que podes usar nos teus sitios web.
Táboa de contidos
Que é É o ficheiro .htaccess?
O primeiro que ten que saber é o que é HACICES (acceso de hipertexto ou acceso ao hipertexto). É un ficheiro de configuración para configurar as políticas de acceso aos directorios web e ficheiros para facer configuracións como redireccións.
é un ficheiro de texto sinxelo que pode editar con notas ou calquera editor e cargalo na raíz do tema ou traballa de diferentes xeitos como veremos:
O ficheiro Htaccess é moi delicado, calquera erro na súa edición pode causar erros no funcionamento da web
en Este artigo, explico onde está o ficheiro htaccess.
redirixir a URL sen www á dirección con www
Como se explica anteriormente, o seguinte código redireccione a partir da URL do seu dominio sen Alias www ao URL do teu dominio con alias www.
RewriteEngine On RewriteCond %{HTTP_HOST} ^webempresa.com RewriteRule ^(.*)$ https://www.webempresa.com/$1
Antes de avanzar, seguramente fixeches unha pregunta onde localizar o ficheiro .htaccess?
O ficheiro .htaccess é un ficheiro “oculto” (o único. Diante do nome indica que é ficheiro ou adoración).
Para poder visualizalo, debes:
- Acceda ao teu cPanel.
- Ir ao xestor de ficheiros (abre un diálogo e unha das opcións é “Mostrar ficheiros ocultos” que deben ser seleccionados).
- Navega ata o cartafol / PUBLICID_HTML.
- Alí pode localizar o ficheiro .htaccess (non confundir con htaccess.txt que se é visible).
Agora que xa o ten claro, seguimos a coñecer outros códigos que pode usar no seu ficheiro .htaccess.
Como cambiar a URL con alias www ao URL sen alias www
e o seguinte código debe redireccionar o usuario da URL do seu dominio con www a URL sen www.
RewriteEngine OnRewriteCond %{HTTP_HOST} ^www.webempresa.com RewriteRule ^(.*)$ https://www.webempresa.com/$1
sempre redirección a alias www calquera dominio dirixido
Este código é útil para redirixir un ou máis dominios para traballar co alias www usando comodíns www. *. *:
RewriteCond %{REQUEST_URI} !^/robots.txt$ RewriteCond %{HTTP_HOST} !^www.+.{2,6} RewriteCond %{HTTP_HOST} (+.{2,6})$ RewriteRule ^/(.*)$ http://%1/$1
Se temos varios dominios xestionados na conta de HOS , Para non crear unha redirección de 301 dun de cada dominio, outra forma de facelo é redireccionar todo o .tld dos dominios utilizados “sen alias www” a dominios “con alias www”:
URL de redirección dun cartafol a outro cartafol do mesmo dominio
Unha redirección útil 301 cando realizamos o erro de indicar un cartafol chamado incorrectamente ou iso Foi renamado é o seguinte, para que poidamos redireccionar as solicitudes que van a / folder1 / a terra en / folder2 /
Este tipo de redireccións debe engadirse no ficheiro .htaccess, na parte máis alta de o mesmo posible:
Options +FollowSymLinks RewriteEngine On RewriteRule ^carpeta1/(.*)$ http://dominio.com/carpeta2/$1
redirixir un dominio a outro dominio
para evitar que os URL se afecten cambiando un dominio a outro O dominio é conveniente que fagas a seguinte redirección en .htaccess para que queiras provir de enlaces da antiga URL da nova URL de Dereito, doutro xeito afectaría o posicionamento e habería un aumento na perda de tráfico.
<IfModule mod_rewrite.c>RewriteEngine On RewriteCond %{HTTP_HOST} ^anteriordominio.com$ RewriteCond %{HTTP_HOST} ^www.anteriordominio.com$ RewriteRule (.*)$ http://www.nuevodominio.com/$1 </IfModule>
Redirección do localHost (o seu PC) a un dominio remoto
Con esta regra pode redireccionar de localhost (o seu ordenador) ao seu sitio remoto:
RewriteEngine On RewriteCond %{HTTP_HOST} ^localhost$ RewriteRule (.*)$ http://www.dominio.com/$1
Se só quere redirixir un subdominio específico, vostede pode crear a seguinte regra no seu .htaccess:
RewriteEngine On RewriteCond %{HTTP_HOST} ^subdominio.dominio.com$ RewriteRule (.*)$ http://www.nuevodominio.com/$1
Unha forma máis sinxela de facelo con comodíns é crear unha regra en .htaccess como o seguinte:
Redirect 301 (.*)$ http://www.nuevodominio.com/$1
Evitar a listaxe do directorio
Se ten un cartafol no servidor web usado para almacenar ficheiros como ebooks, software legal, etc., Se o cartafol non ten ningún ficheiro index.html, os visitantes poden ver todos os ficheiros dentro do cartafol sen problemas.
Neste caso, pode usar o seguinte código para evitar que isto ocorra.
Options -Indexes
Execución de ficheiros de ficheiros
Se ten tanto o ficheiro index.html como o ficheiro Índice do ficheiro no ficheiro / public_html, o ficheiro de índice. HTML ten unha maior prioridade e será executado primeiro. Aínda que a maioría dos scripts web usan o ficheiro index.php como punto de partida.
Se pode eliminar o ficheiro index.html, o problema resólvese, aínda que non sempre é o caso e nestes casos hai Unha mellor solución que é usar o seguinte código para priorizar o ficheiro index.php no canto de index.html.
DirectoryIndex index.php index.html
compress ficheiros CSS, JavaScript, XML e texto
O seguinte código está deseñado para comprimir o código de saída CSS, JavaScript, XML e texto antes de amosar no navegador. A idea básica é aforrar tempo na carga e non consumir tanto ancho de banda.
<ifmodule>AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript</ifmodule>
almacenamento de caché de imaxe
Recibimos visitas no Web, o servidor web obtén todos os ficheiros necesarios, como ficheiros CSS e JavaScript, así como fotos e imaxes para poder mostrar. Podemos usar o código de abaixo para xestionar os ficheiros de caché e que cando un visitante volva a visitarnos por segunda vez, o servidor carga o ficheiro de caché que acelerará o tempo de carga.
<IfModule mod_expires.c>ExpiresActive OnExpiresByType image/gif A432000ExpiresByType image/jpg A432000ExpiresByType image/jpeg A432000ExpiresByType image/png A432000ExpiresByType image/ico A432000ExpiresByType image/bmp A432000ExpiresByType text/css A432000ExpiresByType text/javascript A432000ExpiresByType application/javascript A432000ExpiresByType application/x-javascript A432000</ifmodule>
O código anterior garda os ficheiros durante cinco días ou 432.000 segundos. Pode cambiar o período de almacenamento en caché, garantindo o uso do valor expresado en segundos.
Protexa o ficheiro .htaccess
O seguinte código impide que o ficheiro .htaccess sexa lido directamente desde a web Navegador.
<Files .htaccess>Order allow,denyDeny from all</Files>
Evitar a hotlinking
Ás veces, outros webmasters, fan as imaxes das nosas webs, artigos, etc., afectando o ancho de banda que temos no noso hosting. Se tamén teñen moitos visitantes ao día, utilizarán o ancho de banda do servidor para mostrar as nosas imaxes no sitio web fóra de nós.
Pode usar o código que se mostra a continuación para evitar o hotlinking e substituír así o orixinal image por outro con aviso para deixarlles saber que a imaxe é nosa ou que a hotlinking é unha mala práctica.
RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(.+.)?webempresa.com/ RewriteCond %{HTTP_REFERER} !^$RewriteRule .*.(jpg|gif|bmp|png)$ http://hotlink.webempresa.com/no_se_permite_hotlinking.jpg
Pode cargar a imaxe a un Sitio de hospedaxe de imaxes como imaxes de que se aplique o seu ancho de banda a ser afectado.
Cambiar a localización do cartafol de dominio a outro / Public_html Cartafol
Se xa ten un sitio web en / PUBLICID_HTML e Queres actualizar o sitio web, pero non queres que outros o vexan, pero non queres afectar o sitio web na produción existente, o xeito máis sinxelo é a construción do novo sitio web nunha subcarpeta / public_html, por exemplo, / PUBLICID_HTML / Web. Dous.
Ao finalizar todas as probas e melloras, debes substituír o sitio web antigo co novo, pero transferir ficheiros e cartafoles ao cartafol / Public_html é bastante molesto. A mellor solución é Use.htaccess para dicir a Apache para usar o cartafol / Public_html / web2 no canto de / PUBLIV_HTML para o dominio.
RewriteEngine OnRewriteCond %{HTTP_HOST} ^webempresa.com$ RewriteCond %{HTTP_HOST} ^www.webempresa.com$RewriteCond %{REQUEST_URI} !^/web2/RewriteRule (.*) /web2/$1
Crear URL de fácil ou “Uso amigable”
Cal dos dous URLs a continuación parece máis amigable?
http://tusitio.com/acercadehttp://tusitio.com/paginas/acercade.html
Cando se trata de enderezos de URL, sempre que O significado é claro, o máis curto é, mellor. Htaccess cunha chamada ao módulo Apache Mod_rewrite permítelle configurar as URLs que queiras.
O servidor pode mostrar o contido de “/ páxinas / acecade.html “Cada vez que alguén visita” http://tusitio.com/acercade “.
Abaixo amósanse algúns exemplos:
RewriteEngine onRewriteRule ^acercade/$ /paginas/acercade.html RewriteRule ^caracteristicas/$ /caracteristicas.php RewriteRule ^comprar/$ /comprar.html RewriteRule ^contacto/$ /paginas/contacto.htm
Forzar o uso de SSL
Este código de código para usar SSL, sen permitir conexións HTTP. Para evitar escoitar http: // usamos a directiva de erros.
SSLOptions + StrictRequire SSLRequireSSL
Cando unha liña comeza por # é unha comida Tario que non ten efecto.
Se alguén visita o seu sitio web, os comprobacións do servidor web Apache se ten un ficheiro .htaccess nalgún lugar do seu espazo web desde o cartafol raíz ou o cartafol principal e rastrexar todos os cartafoles ata chegar o ficheiro solicitado. Se atopa un ficheiro .htaccess, as súas directrices aplícanse á solicitude actual.
É importante saber que o ficheiro .htaccess debe ser lexible polo servidor Apache. Polo tanto, é importante consultar co seu hospedaxe se se require un permiso especial que estableceu para os ficheiros .htaccess.En xeral, os permisos correctos para este ficheiro son 644.
Redirección de HTTP a HTTPS
Debe dicirse que é necesario que un certificado SSL estea instalado no hosting para facer uso deste protocolo máis seguro.
RewriteEngine On RewriteCond %{ENV:HTTPS} !on RewriteCond %{HTTP_HOST} ^tu_dominio.com$ RewriteCond %{HTTP_HOST} ^www.tu_dominio.com$RewriteRule ^(.*)$ https://tudominio.com/$1
Pode haber casos nos que queremos engadir excepcións na redirección HTTP forzada a HTTPS (por exemplo, a páxina de notificación de Redsys). Podemos facelo engadindo unha liña de código adicional. Se, por exemplo, queremos engadir unha excepción para a URL https://tudominio.com/?wc-api=WC_redsys debe deixar o código anterior do seguinte xeito:
RewriteEngine On RewriteCond %{ENV:HTTPS} !on RewriteCond %{QUERY_STRING} !wc-api RewriteCond %{HTTP_HOST} ^tu_dominio.com$ RewriteCond %{HTTP_HOST} ^www.tu_dominio.com$RewriteRule ^(.*)$ https://tudominio.com/$1
Outro exemplo: Se non queremos forzar o uso do HTTPS para a URL https://tudominio.com/blog/entrada1.html teremos que poñer un código como o seguinte:
RewriteEngine On RewriteCond %{ENV:HTTPS} !on RewriteCond %{REQUEST_URI} !/blog/entrada1.html$ RewriteCond %{HTTP_HOST} ^tu_dominio.com$ RewriteCond %{HTTP_HOST} ^www.tu_dominio.com$RewriteRule ^(.*)$ https://tudominio.com/$1
Redirección de https a http
pode ser o caso que aínda ten un certificado SSL instalado (comodo, imos cifrar, etc.) quere forzar o SSL cifrado O tráfico que se servirá con HTTP por varios motivos (probas con complementos en conflito, configuración dunha pasarela de pagamento que non funciona ben por HTTPS, etc.), en que códigos de caso como a próxima permitirá que vaia de HTTPS a HTTP sen desinstalar O certificado SSL desde o seu hospedaxe.
RewriteEngine OnRewriteCond %{ENV:HTTPS} on RewriteCond %{HTTP_HOST} ^tu_dominio.com$ RewriteCond %{HTTP_HOST} ^www.tu_dominio.com$ RewriteRule ^(.*)$ http://tudominio.com/$1
Este código debe ser colocado por riba de calquera outro código de redirección, ao comezo do ficheiro .htaccess.
forzar a carga de Contido mixto en HTTPS en vez de HTTP
Se instalamos un certificado SSL para atender a web baixo o protocolo de HTTPS, pero por algún motivo estamos entregando contido baixo o protocolo HTTP como contido mixto, podemos engadir a seguinte directiva en O ficheiro .htaccess para forzar o contido “non seguro” para ser forzado a cargar baixo o protocolo HTTPS.
Esta política é compatible coa maioría dos navegadores actuais.
<ifModule mod_headers.c> Header always set Content-Security-Policy "upgrade-insecure-requests;"</IfModule>
force index.html carga
para que un sitio HTML funcione sen engadir index.html Debería apuntar un dominio ou un subdominio directamente ao cartafol que contén a web, de xeito que só chamando http://dominio.com ou subdomain.domain.com (por exemplo) carga a web HMTL sen necesidade de engadir o ficheiro index.html.
Se unha web é Chama desde unha ruta como http://domino.com/otra_carpeta/ é normal que ten que engadir o ficheiro index.html para que o navegador saiba que debe Carga.
Con todo, pode forzar a usar .htaccess para cargar o ficheiro index.html sen ter que escribir no navegador.
RewriteEngine onRewriteRule ^(.*).php$ $1.html%{QUERY_STRING}
Estes son apenas un pinceladas das moitas posibilidades que ten a correcta xestión do ficheiro .htaccess que na maioría dos sitios web, os niveis que son, normalmente pasan desapercibidos e relegados ao Estado dun ficheiro máis, cando o potencial é tan grande como desexa conceder ao usuario.
Lectura recomendada sobre .htaccess
- https://httpd.apache.org/docs/1.3/howto/htaccess.html
- https://httpd.apache.org/docs/2.2/howto/htaccess.html#how
- https://es.wikipedia.org/wiki/Htaccess
Outros artigos do blog sobre .htaccess
- Redirect URL correctamente usando cpanel e .htaccess
- 10 Consellos simples para reforzar a seguridade de WordPress usando .htaccess