Isso me gerou alguns problemas pois tenho 4 servidores webs ativos .
Se alguem ai precisa de uma explicação do que é o mod_rewrite ai vai . ( copiei de outro link na internet essa explicação )
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.
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=$1Entendendo 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 mod_rewirte
Aqui você ja deve ter o apache2.2 instalado no seu sistema.
Vamos verificar se você tem o modulo "mod_rewrite" com o comando : # locate mod_rewrite.so
Provavelmente ele será encontrado em "/usr/lib/apache2/modules".
Verifique se o arquivo "rewrite.load" está na pasta "/etc/apache2/mods-enabled". Caso não estiver, copie do mods-available:
sudo cp /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/. Dentro do arquivo "rewrite.load" deve ter esse conteudo:
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.soAgora, edite o arquivo /etc/apache2/sites-available/default (ou 000-default)
E procure o seguinte:
E procure o seguinte:
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from allE mude o AllowOverride para "All":
AllowOverride AllApós todos esses cansativos passos, reinicie o apache: service apache2 restart ou/etc/init.d/apache2 restart
Pronto, agora seu mod_rewrite está ativo.
Nenhum comentário:
Postar um comentário