htaccess (1)

O que é o arquivo .htaccess no WordPress?

Você pode realizar muito no WordPress sem sair do seu painel. Se você quiser tirar o máximo proveito do seu site, vale a pena aprender sobre o que está acontecendo nos bastidores. Um primeiro passo vital nesse processo é entender como usar o arquivo .htaccess no WordPress.

Seu site WordPress conta com vários arquivos importantes para fazer seu trabalho, e o arquivo .htaccess é um deles. Embora, por padrão, ele execute apenas algumas tarefas relacionadas aos permalinks do seu site, ele pode ser adicionado e personalizado para realizar todos os tipos de funções úteis, como redirecionar visitantes para o seu site ou melhorar a segurança do seu site.

Neste post, vamos apresentar o arquivo .htaccess e explicar tudo. Então, você aprenderá como encontrar o arquivo .htaccess no WordPress, bem como algumas das coisas úteis que você pode fazer com ele.

O que o arquivo .htaccess no WordPress é (e como funciona)

O arquivo .htaccess é um arquivo de configuração para o servidor web Apache (que é usado pela maioria dos hosts do WordPress ). Em outras palavras, ele contém regras que fornecem várias instruções ao servidor do seu website. Quase todos os sites do WordPress têm um arquivo .htaccess , localizado no diretório ‘raiz’ ou central. É um arquivo oculto (é por isso que o nome do arquivo começa com um ponto) e não tem extensão.

Por padrão, o arquivo .htaccess no WordPress lida com uma tarefa principal:

Controla como os permalinks do seu site são exibidos. Se você fizer uma alteração em sua estrutura de permalink, o arquivo .htaccess será atualizado com novas instruções para o servidor. Na verdade, às vezes o arquivo .htaccess não é realmente criado em seu site até a primeira vez que você personaliza seus permalinks.

Em muitos sites, isso é tudo que o arquivo .htaccess faz. No entanto, você também pode usá-lo para fazer vários ajustes na funcionalidade do seu site. Por exemplo, você pode configurar redirecionamentos 301 no arquivo .htaccess . Você também pode usá-lo para aumentar a segurança, restringindo o acesso ao seu site e a outros arquivos principais.

Além disso, alguns plugins adicionam suas próprias regras ao seu arquivo .htaccesspara ajudar na função do plugin. Isso é especialmente comum em plug-ins de cacheou segurança .

Se isso parece um pouco abstrato, não se preocupe. Você não precisará entender todos os detalhes técnicos para encontrar e fazer alterações no arquivo .htaccess no WordPress.

Como localizar e editar o arquivo .htaccess no WordPress

Antes de prosseguirmos, precisamos discutir algumas medidas de segurança. É importante entender que fazer alterações nos arquivos do seu site diretamente pode ser arriscado. Se você não for cuidadoso, poderá acabar quebrando fatores que controlam a funcionalidade principal do seu site ou até mesmo derrubar completamente o seu site.

Existem algumas maneiras de atenuar esses riscos:

  • Faça o backup do seu site antes de editar qualquer um dos seus arquivos. Dessa forma, você pode reverter rapidamente alterações e erros não intencionais.
  • Use um site de teste para testar suas edições antes de executá-las em seu site ativo. Em um site de teste, você está livre para experimentar sem preocupações.
  • Baixe o arquivo .htaccess para o seu computador local antes de fazer qualquer edição. Dessa forma, se você especificamente quebrar algo em seu arquivo.htaccess , você só precisa fazer o upload da cópia original para corrigir o problema .

Para acessar o arquivo .htaccess no WordPress, você precisará estabelecer uma conexão direta com o seu site através do FTP (File Transfer Protocol). Você precisará de um cliente FTP, como o FileZilla , e algumas credenciais de FTP do seu host. Se você não tiver certeza de como fazer isso, o nosso guia para iniciantes em FTP o guiará pelo processo.

Quando o FileZilla estiver conectado ao seu site, você verá uma janela semelhante a esta:

Confira o quadrante superior direito. Você deve ver uma pasta com o nome do domínio do seu site – este é o diretório raiz. Selecione esta pasta e confira a lista de pastas e arquivos localizados imediatamente abaixo dela:

O arquivo .htaccess deve estar listado aqui, geralmente como uma das primeiras entradas. Para abri-lo:

  • Clique com o botão direito nele
  • Selecione Visualizar / Editar para abrir o arquivo no editor de texto padrão do seu computador

Agora você pode fazer as alterações desejadas no arquivo usando o editor de texto.Quando terminar:

  • Salve o arquivo
  • Feche o arquivo

Aparecerá uma janela perguntando se você deseja carregar a nova versão editada do seu arquivo .htaccess para o servidor. Selecione Sim e suas alterações entrarão em vigor imediatamente.

Se você não conseguir encontrar o arquivo .htaccess em sua pasta raiz, talvez ele ainda não exista. Você pode pedir ao WordPress para gerar um visitando Configurações> Permalinks no seu painel e clicando no botão Salvar Alterações (você não precisa escolher uma estrutura diferente):

Quando você abrir o FileZilla e navegar para a pasta raiz do seu site, o arquivo .htaccess deve estar lá.

O que você pode fazer com o arquivo .htaccess no WordPress

Agora que você sabe onde encontrar o arquivo .htaccess no WordPress e como editá-lo, você pode estar se perguntando quais mudanças você pode realmente fazer. Há muitas coisas que você pode fazer com esse arquivo – muitas para cobrir em um post.No entanto, vamos dar uma olhada em alguns exemplos para você começar.

Primeiro, vamos falar sobre redirecionamentos. Se você mover uma página ou postar – ou todo o seu website – você precisará direcionar automaticamente os usuários que visitarem o URL antigo para o novo local. Isso requer a configuração de um redirecionamento 301 e é algo que você pode fazer com o arquivo .htaccess no WordPress.

Para redirecionar uma única página, você pode adicionar esta linha ao final do seu arquivo .htaccess :

Redirect 301 /oldpage.html http://www.yoursite.com/newpage.html

Substitua /oldpage.html pelo permalink antigo da página e pelo seguinte URL com o novo link para a página. Você pode adicionar uma nova linha para cada página que deseja redirecionar.

Você também pode usar snippets semelhantes para redirecionar todo o site. Ou você pode usar um snippet para enviar todo o tráfego para a versão HTTPS segura do seu site ( se você tiver um certificado SSL ).

Você também pode usar o arquivo .htaccess para fazer várias alterações relacionadas à segurança em seu site. Por exemplo, você pode adicionar esse código para impedir o acesso de usuários não autorizados a vários arquivos principais importantes:

<FilesMatch "^.*(error_log|wp-config\.php|php.ini|\.[hH][tT][aApP].*)$">
Order deny,allow
Deny from all
</FilesMatch>

Para saber mais sobre como usar o arquivo .htaccess para melhorar a segurança, você pode conferir a entrada do WordPress Codex no assunto. Lembre-se de fazer backup do seu site e usar um ambiente de teste ao tentar fazer alterações!

Conclusão

Aprender a trabalhar diretamente com os arquivos do seu site é um passo importante em sua jornada para se tornar um especialista em WordPress . O arquivo .htaccess é um bom lugar para começar, já que é um arquivo relativamente simples que pode ser usado para uma ampla variedade de aplicativos.

Antes de fazer qualquer alteração no arquivo .htaccess no WordPress, certifique-se de fazer o backup de seu site e usar um ambiente de preparação apenas para o caso.Em seguida, você pode usar o FTP para acessar seu site , localizar o arquivo .htaccesse editá-lo. Depois de saber como fazer isso, você pode simplesmente procurar o código necessário para adicionar qualquer funcionalidade necessária.

Você tem alguma dúvida sobre o que pode fazer com o arquivo .htaccess no WordPress? Deixe-nos saber na seção de comentários abaixo!

 308 visualizações

htaccess

O que é .htaccess? Pra que serve o .htaccess? Como configurar .htaccess?

O htaccess é um arquivo de configuração de acesso do servidor Apache. Com ele é possível configurar várias funções de acesso dos usuários a um diretório específico e atrbuir estas regras aos subdiretórios subsequentes. Sendo a utilização de alguns parâmetros de configuração fortemente recomendado para otimização de sites.

O que é o .htaccess ?

htaccess é um arquivo de configuração de acesso do servidor Apache. Com ele é possível configurar várias funções de acesso dos usuários a um diretório específico e atrbuir estas regras aos subdiretórios subsequentes. Sendo a utilização de alguns parâmetros de configuração fortemente recomendado para otimização de sites.

Para que serve o .htaccess ?

Basicamente serve para configurar o tipo de acesso ao diretório de um site web. É possível configurar vários parâmetros:

  • acesso restrito: seja ele com senha, ou mesmo negar/permitir o acesso de qualquer maneira ao diretório
  • páginas de erro padrão: 400 Bad request, 401 Auth Requested, 402 Payment Requested, 403 Forbidden, 404 Not Found, 405 Method Not Allowed, 406 Not Acceptable, 407 Proxy Ath Repid, 408 Request Time Out, 409 Conflicting Request, 410 Gone, 411 Content Len Requested, 412 Precondition Failed, 413 Entity Too Long, 414 URI Too Long, 500 Internal Server Error, 501 Not Implemented, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout, 505 Ver Not Suported.
  • Página padrão: Ex.: index.html
  • Configurar acesso com ou sem www: para evitar canonização de url.
  • Redirecionar Diretivas: 301 Movido permanentemente, 302 Movido Temporariamente

Quando devo usar ?

Devem ser utilizados em certos casos onde não há disponibilidade de acesso ao root ao sistema do servidor e assim os provedores de conteúdo necessitam fazer mudanças na configuração por diretório. Se não houver possibilidade do administrador do servidor efetuar mudanças sempre que necessário nas configurações do servidor, então fica viável a utilização dos arquivos .htaccess. Podemos citar como exemplo, quando os provedores de páginas web estão fornecendo vários sites para seus clientes em uma mesma máquina, e desejam que eles mesmos alterem as configurações desejadas.

Recomendamos que não se utilize o arquivo .htaccess caso você tenha acesso ao arquivo de configuração principal do servidor. É possível usar as configurações principais de autenticação de usuário no arquivo principal, sendo a maneira mais adequada. O uso corrento do .htaccess provê grande auxílio no SEO do web site em questão.

O que devo configurar antes de criar um .htaccess?

 

Se você estiver usando uma hospedagem possivelmente as configurações abaixo já foram realizadas!

Para trabalhar com .htaccess é preciso executar duas configurações antes de iniciar.

1 – É necessário carregar no Apache um módulo chamado “mod_rewrite“, se você estiver usando Ubuntu basta digitar o comando abaixo:

 

2 – Temos que editar o arquivo “/etc/apache2/apache2.conf” e alterar a diretiva “AllowOverride” que por padrão vem setada como “None“, vamos alterar para “All“.

A diretiva “AllowOverride” habilita e define quais serão as diretrizes aceitas, baseado no valor dessa diretiva o Apache identifica o que será aceito ou não no arquivo .htaccess.

AllowOverride None -> Desabilita o uso do .htaccess.

AllowOverride All -> Habilita o uso do .htaccess e todas as diretivas.

Após esses 2 passos é necessário reiniciar o servidor Apache: sudo service apache2 restart

Como criar um arquivo .htaccess?

Geralmente criamos apenas um arquivo .htaccess na raiz do nosso projeto, se forem necessárias regras individuais por diretório então podemos criar outros .htaccess dentro dos respectivos diretórios.

Existem várias diretivas que podem ser adicionadas ao .htaccess, abaixo segue um exemplo básico:

RewriteEngine on -> Sempre que formos trabalhar com “reescrita” de URLs iniciamos o arquivo ativando a engine para reescrita, podemos desativar as regras desse arquivo substituindo “on” por “off“.

As diretivas RewriteCond, RewriteRule foram usadas apenas como exemplo e serão explicadas detalhadamente mais abaixo.

Como criar minhas Condições?

Não é obrigatório, mas podemos criar condições em nosso .htaccess para que posteriormente sejam aplicadas as regras.

Quando adicionamos uma condição usamos a diretiva “RewriteCond” seguido dos itens para teste e condições, podemos usar variáveis do servidor para capturar valores.

Para ler variáveis é necessário iniciar com “%” e colocar o nome entre chaves “{}”, na documentação oficial é possível visualizar a lista completa de todas as variáveis aceitas, abaixo cito algumas:

  • %{REQUEST_FILENAME} -> Contém o nome do script requisitado
  • %{REMOTE_ADDR} -> Contém o IP que enviou a requisição
  • %{HTTP_REFERER} -> Contém o domínio que enviou a requisição
  • %{QUERY_STRING} -> Contém somente QueryString da URL
  • %{REQUEST_METHOD} -> Contém o método usado na requisição POST, GET, PUT, HEAD.

Um exemplo de condição onde as regras só serão aplicadas em requisições onde o valor da variável “REMOTE_ADDR” for igual a “192.168.0.1“:

Outro exemplo onde as regras serão aplicadas quando o valor da variável “REQUEST_METHOD” não for do tipo “GET“, usamos o carácter de negação “!” para isso:

É comum nos arquivos .htaccess  sempre usarmos condições verificando se está sendo requisitado um arquivo ou diretório.

Para esse tipo de verificação pode usar alguns atributos, como no exemplo abaixo que usamos “-f” para verificar se é um arquivo e “-d” para verificar se é um diretório.

RewriteCond %{REQUEST_FILENAME} !-f -> Nesse caso sempre que for requisitado um arquivo (script) “-f” as regras de redirecionamento não serão aplicadas, porque estamos usando o carácter de negação “!“.

RewriteCond %{REQUEST_FILENAME} !-d -> Agora estamos verificando se foi requisitado um diretório “-d“, caso sim as regras de redirecionamento também não serão aplicadas, porque estamos usando o carácter de negação “!“.

Importante citar que as condições e regras são aplicadas na ordem em que são lidas no arquivo .htaccess, ou seja, de cima para baixo.

Como criar minhas Regras?

Quando precisamos criar regras usamos a diretiva “RewriteRule” em conjunto com expressões regulares e se necessário também podemos usar “flags”.

Como já foi citado acima, as regras são aplicadas na ordem em que estão escritas no arquivo, ou seja, de cima para baixo.

Continuando no exemplo usado na diretiva “RewriteCond“:

RewriteRule -> Verifica o que foi passado na URL usando a REGEX “^(.*)$” e redireciona para a página “index.php“, mas esse redirecionamento só sera executado se todas as condições que estão em “RewriteCond” forem satisfeitas.

Exemplo:

Flags

Podemos usar flags para modificar o comportamento da diretiva “RewriteRule“, elas devem ser informadas no final da instrução entre “[]” e separadas por vírgula se forem adicionadas mais de uma flag.

Entre as flags mas usadas temos:

  • L -> Indica que a regra deverá se executada independente da existência de outras regras (na maioria dos contextos essa flag sinaliza o encerramento do processamento das regras que estão abaixo).
  • QSA -> Essa flag força o uso das querys strings, sem ela as query strings são descartadas por padrão.
  • NC -> Informa que a regra não fará distinção entre maiúscula ou minúscula, mais conhecido como case insensitive.

Exemplo:

Para conhecer a lista completa das flags acesse a documentação do Apache.

Quando devo usar o arquivo .htaccess?

Aqui entra um ponto curioso e na minha opinião um pouco contraditório sobre o arquivo .htaccess, a própria documentação oficial do Apache aconselha evitar o uso desse arquivo.

No entanto, de modo geral, o uso de arquivos .htaccess deve ser evitado quando possível.

Motivos descritos na documentação:

1 – Performance: Pois sempre que a propriedade “AllowOverride” está configurada para permitir o uso de arquivos .htaccess, estamos pedindo para o Apache procurar esse arquivo em todos os diretórios e sub-diretórios, causando impacto na performance.

2 – Segurança: Como é possível alterar algumas configurações de acesso através do .htaccess, a documentação oficial cita que esses privilégios não podem ser concedidos para os usuários (entenda desenvolvedores).

Mesmo nos dias atuais praticamente todos os frameworks PHP usam .htaccess, aplicações das mais simples até as mais complexas fazem uso intenso desse arquivo.

Então fica a recomendação para usar somente o necessário nas condições e regras, pois existem casos em que o .htaccess tem centenas de linhas e isso também pode comprometer a performance da sua aplicação.

Exemplos de regras para o arquivo .htaccess

Bloqueando Arquivos

Nesse exemplo estamos redirecionando para “index.php” requisições onde a url contenha arquivos com extensão “.log“, como nesse exemplo “http://site.com.br/log/logs.log“:

Redirecionamento para página de erro

As vezes precisamos redirecionar o usuário para uma página de erro customizada quando ele requisita uma página ou diretório que não existe em nosso site.

Geralmente crio um diretório “erro” contendo minhas páginas para essa  finalidade:

Trabalhando com URL Amigável

1 – Nesse primeiro exemplo temos um redirecionamento simples, mas já deixa nossas URLs amigáveis.

2 – No segundo exemplo a URL “http://site.com.br/produto/1234” será reescrita para “http://site.com.br/produto.php?id=1234“.

Observem que passo um parâmetro “$1“, ele é referente ao grupo “(.*)” da expressão regular.

3 – Nesse outro exemplo a URL fica mais atrativa ainda para SEO, “http://site.com.br/produto/notebook-asus-1234” será reescrita para “http://site.com.br/produto.php?id=1234“:

Observem que passo um parâmetro “$2“, ele é referente ao segundo grupo “([0-9]*)” da expressão regular.

 292 visualizações