{"id":356,"date":"2015-05-06T11:34:09","date_gmt":"2015-05-06T14:34:09","guid":{"rendered":"https:\/\/www.kinghost.com.br\/wiki\/?post_type=article&#038;p=356"},"modified":"2021-06-17T11:12:02","modified_gmt":"2021-06-17T14:12:02","slug":"como-fazer-regravacao-de-urls","status":"publish","type":"article","link":"https:\/\/king.host\/wiki\/artigo\/como-fazer-regravacao-de-urls\/","title":{"rendered":"Como regravar URLs atrav\u00e9s do .htaccess (Apache)"},"content":{"rendered":"\n<p>Regravar urls do seu site \u00e9 um passo importante para garantir um melhor posicionamento nos motores de busca, al\u00e9m de ser visualmente melhor.<\/p>\n\n\n\n<p>Atrav\u00e9s do uso de URLs amig\u00e1veis, otimizamos os links do site tornando-os mais f\u00e1ceis de utilizar e lembrar. Isto acontece pois podemos associar o texto do endere\u00e7o digitado com o conte\u00fado das p\u00e1ginas que o site oferece para navegar. Com isto em mente, podemos perceber que links amig\u00e1veis aumentam a confian\u00e7a dos usu\u00e1rios no site j\u00e1 que eles navegam com uma intui\u00e7\u00e3o maior a respeito do que est\u00e3o acessando.<\/p>\n\n\n\n<p>Por outro lado, escolher o texto do endere\u00e7o online pode se tratar de uma pr\u00e1tica de seguran\u00e7a, onde se \u201cesconde\u201d o caminho real de certa p\u00e1gina na aplica\u00e7\u00e3o. Por fim, a escolha por links amig\u00e1veis \u00e9 tamb\u00e9m uma pr\u00e1tica de SEO (Search Engine Optimization). Utilizando termos chave no seu endere\u00e7o, visto que s\u00e3o palavras e n\u00e3o c\u00f3digos estranhos, voc\u00ea estar\u00e1 automaticamente melhorando a indexa\u00e7\u00e3o do site no Google.<\/p>\n\n\n\n<p><box-info><strong>Importante<\/strong>: Em ambiente de hospedagem com servidor web <strong>Nginx<\/strong> e <strong>Lighttpd<\/strong>, a regrava\u00e7\u00e3o de URLs \u00e9 feita atrav\u00e9s do Painel de Controle.<\/box-info><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Comparacao_de_enderecos_com_e_sem_regravacao\"><\/span>Compara\u00e7\u00e3o de endere\u00e7os com e sem regrava\u00e7\u00e3o<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Abaixo h\u00e1 3 exemplos de endere\u00e7os. A primeira coluna exibe os endere\u00e7os sem regrava\u00e7\u00e3o de URL, a segunda coluna \u00e9 o resultado de uma regrava\u00e7\u00e3o de URL.<br>\n<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td>Sem regrava\u00e7\u00e3o de URL<\/td><td>Com regrava\u00e7\u00e3o de URL<\/td><\/tr><tr><td>http:\/\/www.nomedosite.com.br\/contato.php<\/td><td>http:\/\/www.nomedosite.com.br\/contato\/<\/td><\/tr><tr><td>http:\/\/www.nomedosite.com.br\/produtos.php?categoria=7<\/td><td>http:\/\/www.nomedosite.com.br\/produtos\/luvas\/<\/td><\/tr><tr><td>http:\/\/www.nomedosite.com.br\/mundo.php?id=2<\/td><td>http:\/\/www.nomedosite.com.br\/mundo\/nome-do-post\/2\/<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Funcionamento_de_uma_requisicao_de_maneira_bem_simplificada\"><\/span>Funcionamento de uma requisi\u00e7\u00e3o (de maneira bem simplificada)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>O visitante digita uma URL (Exemplo: http:\/\/nomedosite.com.br\/contato.php) no navegador;<br>\nO navegador do visitante envia uma requisi\u00e7\u00e3o para o servidor do site pedindo o resultado em HTML do endere\u00e7o contato.php;<br>\nO servidor utiliza de regras internas para identificar esse endere\u00e7o como pertencente ao arquivo contato.php;<br>\nO servidor ent\u00e3o, executa o PHP e retorna o c\u00f3digo HTML final (resultado) para o navegador do visitante.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Exemplo_de_regravacao_utilizando_um_arquivo_htaccess\"><\/span>Exemplo de regrava\u00e7\u00e3o utilizando um arquivo .htaccess<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Abaixo segue uma regra de regrava\u00e7\u00e3o de URL realizada a partir de um arquivo .htaccess para facilitar o entendimento:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" lang=\"wp-block-preformatted\">RewriteEngine On<br>RewriteRule ^contato\/?$ \/contato.php [NC,L]<\/pre>\n\n\n\n<p><i class=\"fa fa-angle-right\"><\/i> <em>Linha 1<\/em>: O comando <strong>IfModule<\/strong> verifica se o mod_rewrite.c est\u00e1 ativo<br>\n<i class=\"fa fa-angle-right\"><\/i> <em>Linha 2<\/em>: Habilita o sistema de reescrita de URL<br>\n<i class=\"fa fa-angle-right\"><\/i> <em>Linha 3<\/em>: Aplica\u00e7\u00e3o da regra de regrava\u00e7\u00e3o de URL<br>\n<i class=\"fa fa-angle-right\"><\/i> <em>Linha 4<\/em>: O comando IfModule encerra a regra e a verifica\u00e7\u00e3o do m\u00f3dulo\n<\/p>\n\n\n\n<p>AN\u00c1LISE DA REGRA DE REWRITE\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" lang=\"wp-block-preformatted\">RewriteRule ^contato\/?$ \/contato.php [NC,L]<\/pre>\n\n\n\n<p><box-info><i class=\"fa fa-angle-right\"><\/i> <em>RewriteRule<\/em>: Comando de reescrita de URL (diz para o servidor web qual linha deve ser verificada)<br>\n<i class=\"fa fa-angle-right\"><\/i> <em>^contato\/?$<\/em>: \u00c9 uma express\u00e3o regular usada para validar a URL<br>\n<i class=\"fa fa-angle-right\"><\/i> <em>\/contato.php<\/em>: Informa ao servidor que arquivo atender\u00e1 a requisi\u00e7\u00e3o (Formato da antiga URL)<br>\n<i class=\"fa fa-angle-right\"><\/i> <em>[NC,L]<\/em>: Flags \u2013 <strong>N<\/strong>o<strong>C<\/strong>ase, sem diferencia\u00e7\u00e3o entre mai\u00fasculas e min\u00fasculas e <strong>L<\/strong>ast, que for\u00e7a a utiliza\u00e7\u00e3o dessa \u00fanica regra<\/box-info><\/p>\n\n\n\n<p><i class=\"fa fa-angle-right\"><\/i> <u>Detalhes da express\u00e3o regular<\/u>:<br>\n<span style=\"color: #5780b7;\">^<\/span>: significa in\u00edcio<br>\n<span style=\"color: #5780b7;\">$<\/span>: significa fim<br>\n<span style=\"color: #5780b7;\">\/?<\/span>: significa barra opcional (Exemplo: Acessar por http:\/\/www.dominio\/contato ou http:\/\/www.dominio\/contato\/)<\/p>\n\n\n\n<p><span style=\"color: #808080;\"><br>\nDocumenta\u00e7\u00e3o do mod_rewrite: <a href=\"http:\/\/httpd.apache.org\/docs\/2.2\/mod\/mod_rewrite.html\" target=\"_blank\" rel=\"noopener noreferrer\">Apache Module mod_rewrite<\/a><\/span><\/p>\n","protected":false},"author":9,"featured_media":0,"menu_order":10,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","article-category":[31],"article-tag":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/356"}],"collection":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/comments?post=356"}],"version-history":[{"count":1,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/356\/revisions"}],"predecessor-version":[{"id":6013,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/356\/revisions\/6013"}],"wp:attachment":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/media?parent=356"}],"wp:term":[{"taxonomy":"article-category","embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article-category?post=356"},{"taxonomy":"article-tag","embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article-tag?post=356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}