Olá a todos! Após passar por um pequeno problema ao criar links permanentes no meu blog, resolvi criar este post em 4 etapas para mostrar como fazer para habilitar o “mod_rewrite”, assim possibilitando a rescrita de url.

Verificar se o “mod_rewrite” está sendo carregado pelo apache

Vamos criar um arquivo “phpinfo.php” na raiz do nosso website, no meu caso “/var/www/wordpress”.

# vim /var/www/wordpress/phpinfo.php
<?php
phpinfo();
?>

Vamos agora acessar a página “http://ip_do_host/phpinfo.php” e localize “mod_rewrite” para confirmar que ele está ativo.

sem_mod_rewrite

Ativar “mod_rewrite”

Se não estiver ativo, caso você utilize uma distribuição derivada RHEL, iremos editar o arquivo “/etc/httpd/conf.modules.d/00-base.conf” e inserir a linha conforme abaixo.

# vim /etc/httpd/conf.modules.d/00-base.conf
LoadModule rewrite_module modules/mod_rewrite.so

Caso você esteja utilizando o Debian ou uma distribuição derivada, basta utilizar o comando abaixo e reiniciar o serviço do apache.

# a2enmod rewrite
# service apache2 restart

Vamos novamente acessar a página “http://ip_do_host/phpinfo.php” e localizar “mod_rewrite” para confirmar que ele está ativo.

com_mod_rewrite

Ativar o “AllowOverride”

Após ativar o módulo, será necessário Ativar o “AllowOverride” para o seu site. Edite o arquivo “httpd.conf”

# vim /etc/httpd/conf/httpd.conf

Caso você esteja utilizando o Debian ou uma distribuição derivada, edite o arquivo “apache2.conf”

# vim /etc/apache2/sites-available/000-default.conf

Localize a linha “DocumentRoot /var/www/wordpress” e altere ou adicione o conteúdo conforme abaixo

<Directory "/var/www/wordpress">
    Options FollowSymLinks
    AllowOverride All
</Directory>

Alterar as regras do “mod_rewrite”

Vamos criar um arquivo “.htaccess” na raiz do nosso site “/var/www/wordpress” para alterar as regras de escrita. As regras “.htaccess” mudam para vários sites, mas irei disponibilizar as regras do meu arquivo que servirá para finalidade didática e prática para quem usa wordpress.

# vim /var/www/wordpress/.htaccess
<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /
   RewriteRule ^index\.php$ - [L]
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule . /index.php [L]
</IfModule>

Pronto pessoal, após esses procedimentos o “mod_rewrite” já está habilitado para o nosso site.

Dúvidas, comentários, sugestões?

comments