Ativando o mod_rewrite

O que é mod_rewrite?

É um módulo escrito para o servidor Apache, responsável pela reescrita de URLs em páginas Web. Que fornece uma regra simples sem níveis de seção na URL.

Hoje em dia, com a popularização de assuntos como SEO, usabilidade e acessibilidade, esta prática se tornou comum e está cada vez mais sendo utilizada por grande portais.

Antes de mais nada, para que o módulo mod_rewrite funcione, obviamente você deve ter configurado e ativado no seu servidor Apache.

Obs: Caso você use o Wordpress ou algum sistema que use essa função e ao tentar abrir a pagina de um erro então crie o arquivo .htaccess conforme explicado abaixo.

Criando o .htaccess

Crie um arquivo com o nome “.htaccess” (exatamente desta forma), e mova para a pasta raiz do seu domínio (ou onde queira implantar a reescrita). Em seguida, insira o código abaixo:

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?cod=$1

Entendendo o código:

RewriteEngine On = Ativa o suporte à reescrita
RewriteCond %{SCRIPT_FILENAME} !-f = Não aplica a condição para arquivos
RewriteCond %{SCRIPT_FILENAME} !-d = Não aplica a condição para diretórios
RewriteRule ^(.*)$ index.php?cod=$1 = Regra de reescrita onde qualquer string (.*) após a pasta, onde estiver o .htaccess, será interpretado por index.php passado na variável cod

Na prática, se você tem uma URL do tipo www.url.com.br/secao/subsecao/, será interpretada por www.url.com.br/index.php?cod=secao/subsecao/. E mais, você não terá limite de níveis para utilizar com as /.

Ativando no Apache

Para ativar o mod_rewrite no apache(ele vem desativado por padrão) faça o seguinte

No arquivo Conf/httpd.conf, procure pela linha:

#LoadModule rewrite_module modules/mod_rewrite.so

e descomente removendo o símbolo “#” do início da linha para ficar assim:

Procure também pela linha

AllowOverride None

e altere para

AllowOverride All

Se gostou da matéria deixe um comentário or subscribe to the feed and get future articles delivered to your feed reader.

Comentários

Nenhum comentário ainda.

Deixe um comentário

(obrigatório)

(obrigatório)