| Atualizado 20/03/2020
hoje, a maioria das ofertas de hospedagem são para o servidor da Web Apache. É uma solução muito mais barata em comparação com a plataforma do IIS no Windows. Apache é bem conhecido por sua capacidade de usar .htaccess, onde podemos controlar certos aspectos do nosso site, incluindo desempenho.
Um dos mais populares é redirecionar qualquer domínio sem o domínio www. Neste exemplo, se você tentar ter acesso a https://www.webempresa.com, o servidor irá redirecioná-lo para . Isso pode garantir que o Pagerank ™ não seja dividido em dois. Para sua informação, o Google trata esses dois domínios como diferentes. Aqui está um guia dos códigos .htaccess que você pode usar em seus sites.
tabela de conteúdo
o que é o arquivo .htaccess?
A primeira coisa que você precisa saber é o que é HTACCE (acesso ou acesso ao hipertexto). É um arquivo de configuração configurar as políticas de acesso aos diretórios e arquivos da Web para fazer configurações como redirecionamentos.
é um arquivo de texto simples que você pode editar com o bloco de notas ou qualquer editor e carregar para a raiz do tópico ou trabalhe-os de maneiras diferentes, pois veremos:
O arquivo htaccess é muito delicado, qualquer erro em sua edição pode causar erros na operação da Web
em Este artigo, eu explico onde é o arquivo htaccess.
redirecionar o URL sem www para o endereço com www
Como explicado acima, o seguinte código redireciona a partir do URL do seu domínio sem Alias www para o URL do seu domínio com o alias www.
RewriteEngine On RewriteCond %{HTTP_HOST} ^webempresa.com RewriteRule ^(.*)$ https://www.webempresa.com/$1
Antes de avançar, certamente você fez uma pergunta em que localize o arquivo .htaccess?
O arquivo .htaccess é um arquivo “oculto” (o único. Na frente do nome indica que é arquivo ou adoração).
Para visualizá-lo, você deve:
- Acessar o seu cPanel.
- Vá para o gerenciador de arquivos (abre uma caixa de diálogo e uma das opções é “Mostrar arquivos ocultos” que devem ser selecionados).
- Navegar para a pasta / public_html.
- Você pode localizar o arquivo .htaccess (não confundir com htaccess.txt que se for visível).
Agora que você já está claro, continuamos a conhecer outros códigos que você pode usar no seu arquivo .htaccess.
Como alterar o URL com o ALIAS WWW para o URL sem alias www
e o código a seguir deve redirecionar o usuário do URL do seu domínio com www para URL sem www.
RewriteEngine OnRewriteCond %{HTTP_HOST} ^www.webempresa.com RewriteRule ^(.*)$ https://www.webempresa.com/$1
Sempre redirecionar para o alias www qualquer domínio direcionado
Este código é útil para redirecionar um ou mais domínios para trabalhar com o WWW Alias usando curingas www. *. *:
RewriteCond %{REQUEST_URI} !^/robots.txt$ RewriteCond %{HTTP_HOST} !^www.+.{2,6} RewriteCond %{HTTP_HOST} (+.{2,6})$ RewriteRule ^/(.*)$ http://%1/$1
Se tivermos vários domínios gerenciados na conta do HOS Para não criar um redirecionamento 301 de um em cada um de cada domínio, outra maneira de fazê-lo está redirecionando todo o mundo dos domínios usados “sem alias www” para domínios “com alias www”:
RewriteEngine OnRewriteCond %{HTTP_HOST} !^www.RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1
Redirect URL a partir de uma pasta para outra pasta do mesmo domínio
Um redirecionamento útil 301 Quando fizermos o erro de indicar uma pasta chamada incorretamente ou Foi renomeado é o seguinte, para que possamos redirecionar solicitações que ir / pasta1 / para aterrissar em / folder2 /
Este tipo de redirecionamento deve ser adicionado no arquivo .htaccess, na parte mais alta do O mesmo que possível:
Options +FollowSymLinks RewriteEngine On RewriteRule ^carpeta1/(.*)$ http://dominio.com/carpeta2/$1
redirecionar um domínio para outro domínio
para evitar que os URLs sejam afetados pela alteração de um domínio para outro domínio é conveniente que você faz o próximo redirecionamento em .htaccess para que você deseja vir de links da antiga terra de URL no novo URL de Certo, caso contrário, afetaria o posicionamento e haveria um aumento na perda de tráfego.
<IfModule mod_rewrite.c>RewriteEngine On RewriteCond %{HTTP_HOST} ^anteriordominio.com$ RewriteCond %{HTTP_HOST} ^www.anteriordominio.com$ RewriteRule (.*)$ http://www.nuevodominio.com/$1 </IfModule>
Redirecionar do localhost (seu PC) para um domínio remoto
com esta regra, você pode redirecionar de localhost (seu computador) para o seu site remoto:
RewriteEngine On RewriteCond %{HTTP_HOST} ^localhost$ RewriteRule (.*)$ http://www.dominio.com/$1
Se você quiser redirecionar um subdomínio específico pode criar a seguinte regra no seu .htaccess:
RewriteEngine On RewriteCond %{HTTP_HOST} ^subdominio.dominio.com$ RewriteRule (.*)$ http://www.nuevodominio.com/$1
Uma maneira mais simples de fazer isso com curingas é criar uma regra em .htaccess como o seguinte:
Redirect 301 (.*)$ http://www.nuevodominio.com/$1
Impedir a listagem do diretório
Se você tiver uma pasta no servidor da Web usada para armazenar arquivos, como ebooks, software legal, etc., Se a pasta não tiver nenhum arquivo index.html, os visitantes poderão ver todos os arquivos dentro da pasta sem problemas.
Neste caso, você pode usar o seguinte código para evitar que isso aconteça.
Options -Indexes
Execução de arquivos
Se você tiver o arquivo index.html e o arquivo index.php no arquivo / public_html, o arquivo de índice. A HTML tem uma prioridade mais alta e será executada primeiro. Embora a maioria dos scripts da Web use o arquivo index.php como ponto de partida.
Se você puder excluir o arquivo index.html, o problema é resolvido, embora nem sempre seja o caso e nesses casos existe Uma melhor solução que é usar o código a seguir para priorizar o arquivo index.php em vez de index.html.
DirectoryIndex index.php index.html
Comprimir arquivos CSS, JavaScript, XML e texto
O código a seguir é projetado para compactar o código de saída CSS, JavaScript, XML e texto antes de ser exibido no navegador. A ideia básica é economizar tempo na carga e não consumir tanto a largura de banda.
<ifmodule>AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript</ifmodule>
armazenamento de cache de imagem
Recebemos visitas no Web, o servidor da Web obtém todos os arquivos necessários, como CSS e arquivos JavaScript, além de fotos e imagens para poderem mostrar. Podemos usar o código abaixo para gerenciar os arquivos de cache, e que quando um visitante retorna para nos visitar pela segunda vez, o servidor carrega o arquivo de cache que irá acelerar o tempo de carregamento.
<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 acima salva os arquivos por cinco dias ou 432.000 segundos. Você pode alterar o período de armazenamento em cache, garantindo o uso do valor expresso em segundos.
Proteger o arquivo .htaccess
O código a seguir impede que o seu arquivo .htaccess seja lido diretamente na Web Navegador.
<Files .htaccess>Order allow,denyDeny from all</Files>
Impedir hotlinking
às vezes, outros webmasters, faça as imagens de nossas teias, artigos, etc., afetando a largura de banda que temos em nossa hospedagem. Se eles também têm muitos visitantes por dia, eles usarão nossa largura de banda do servidor para exibir nossas imagens no site fora dos EUA.
Você pode usar o código mostrado abaixo para evitar o link de hotlinking e, assim, substituir o original imagem por outra com um aviso para que eles saibam que a imagem é nossa ou que a acolhimento é uma prática ruim.
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
Você pode enviar a imagem para um Site de hospedagem de imagens como imageshack para evitar que sua largura de banda seja afetada.
Alterando o local da pasta de domínio para outra pasta / public_html
Se você já tem um site em / public_html e Você deseja atualizar o site, mas você não quer que os outros vêem, mas você não quer afetar o site na produção existente, a maneira mais fácil é a construção do novo site em uma subpasta / public_html, por exemplo, / Public_html / web. Dois.
No final de todos os testes e melhorias, você precisa substituir o site antigo pelo novo, mas transferir arquivos e pastas para a pasta / public_html é bastante irritante. A melhor solução é usada.htaccess para informar o apache para usar a pasta / public_html / web2 em vez de / public_html para o domínio.
RewriteEngine OnRewriteCond %{HTTP_HOST} ^webempresa.com$ RewriteCond %{HTTP_HOST} ^www.webempresa.com$RewriteCond %{REQUEST_URI} !^/web2/RewriteRule (.*) /web2/$1
Criar URLs de fácil ou “Amigável” Use
Qual dos dois URLs abaixo parece mais amigável?
http://tusitio.com/acercadehttp://tusitio.com/paginas/acercade.html
Quando se trata de endereços de URL, desde que O significado é claro, quanto mais curto é, melhor. Htaccess com uma chamada para o módulo Apache mod_rewrite permite configurar os URLs como desejar.
O servidor pode mostrar o conteúdo de “/ páginas / acecade.html “Toda vez que alguém visita” http://tusitio.com/acercade “.
Abaixo estão alguns exemplos:
RewriteEngine onRewriteRule ^acercade/$ /paginas/acercade.html RewriteRule ^caracteristicas/$ /caracteristicas.php RewriteRule ^comprar/$ /comprar.html RewriteRule ^contacto/$ /paginas/contacto.htm
Força o uso de SSL
Esta força de código para usar o SSL, não permitindo conexões HTTP. Para evitar ouvir http: // usamos a diretiva de erro.
SSLOptions + StrictRequire SSLRequireSSL
Quando uma linha é iniciada por # é uma coma TARIO que não tem efeito.
Se alguém visitar seu site, o servidor da Web Apache verifica se você tiver um arquivo .htaccess em algum lugar no espaço da web na pasta raiz ou na pasta principal e rastreie todas as pastas até chegar o arquivo solicitado. Se você encontrar um arquivo .htaccess, suas diretivas se aplicam à solicitação atual.
É importante saber que o arquivo .htaccess deve ser legível pelo servidor Apache. Portanto, é importante consultar sua hospedagem se for necessária uma permissão especial que tenha estabelecido para arquivos .htaccess.Em geral, as permissões corretas para este arquivo são 644.
Redirecionar de HTTP para HTTPS
Devem ser dito que é necessário ter um certificado SSL instalado na hospedagem para fazer Uso deste protocolo mais 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 ser casos em que queremos adicionar exceções no redirecionamento HTTP forçado a HTTPS (por exemplo, a página de notificação de Redsys). Podemos fazer isso adicionando uma linha adicional de código. Se, por exemplo, querermos adicionar uma exceção para o URL https://tudominio.com/?wc-api=WC_redsys deve deixar o código anterior da seguinte forma:
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 não quisermos forçar o uso do HTTPS para o URL https://tudominio.com/blog/entrada1.html Teremos que colocar um 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
redirecionar de HTTPS para HTTP
Pode ser o caso que ainda está com um certificado SSL instalado (Comodo, vamos criptografar, etc) deseja forçar o SSL criptografado Tráfego a ser servido com HTTP por várias razões (testes com plugins conflitantes, configuração de um gateway de pagamento que não funciona bem por HTTPS, etc.), caso em quais códigos de caso como o próximo permitirá que você vá da HTTPS para HTTP sem desinstalação O certificado SSL da sua hospedagem.
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 deve ser colocado acima de qualquer outro código de redirecionamento, no início do arquivo .htaccess.
Força a carga de Conteúdo misto em HTTPS em vez de http
Se tivermos instalado um certificado SSL para atender a web em protocolo HTTPS, mas por algum motivo, estamos entregando conteúdo em Protocolo HTTP como conteúdo misto, podemos adicionar a seguinte diretiva em O arquivo .Htaccess para forçar o conteúdo “não seguro” a ser forçado a carregar em protocolo HTTPS.
Esta política é compatível com a maioria dos navegadores atuais.
<ifModule mod_headers.c> Header always set Content-Security-Policy "upgrade-insecure-requests;"</IfModule>
force index.html carga
para que um site HTML funcione sem adicionar index.html você deve apontar um domínio ou um subdomínio diretamente para a pasta que contém a Web, para que apenas Chamando http://dominio.com ou subdomain.domain.com (por exemplo) Carregue a Web HMTL sem a necessidade de adicionar o arquivo index.html.
Se uma web for Ligue de uma rota como http://domino.com/otra_carpeta/ É normal que você tenha que adicionar o arquivo index.html para que o navegador saiba que deve Carregue.
No entanto, você pode forçar o uso .htaccess para carregar o arquivo index.html sem ter que gravá-lo no navegador.
RewriteEngine onRewriteRule ^(.*).php$ $1.html%{QUERY_STRING}
Quais são apenas pinceladas das muitas possibilidades que possuem a gestão correta do arquivo .htaccess que na maioria dos sites, níveis que são, geralmente passam despercebidos e é relegado ao status de um arquivo mais, quando o potencial é tão grande quanto você deseja conceder ao usuário.
Leitura recomendada sobre .htaccess
- https://httpd.apache.org/docs/1.3/howto/htaccess.html
- https://httpd.apache.org/docs/2.2/howto/htaccess.html#how
Outros artigos de blog sobre .htaccess
- redirecionar URLs corretamente usando cPanel e .htaccess
- 10 Dicas simples para reforçar a segurança do WordPress usando .htaccess