
9 de junho de 2018 - Frederico Marinho
Habilitando o mod_rewrite e o Htaccess no Ubuntu para usar URL’s amigáveis
Para permitir o uso de URL’s amigáveis e melhorar o SEO do seu site, é necessário habilitar o mod_rewrite e o Htaccess no seu servidor PHP. Lembrando que, esse pequeno tutorial é voltado para usuários do Linux e para quem utiliza o servidor web Apache.
Habilitando o mod_rewrite
O mod_rewrite fornece um jeito poderoso e flexível de manupular URLs utilizando um número ilimitado de regras, permitindo reescrever uma URL baseado em variáveis do servidor, de ambiente, HTTP headers, ou time stamps.
Concluo que seu servidor PHP+Apache já esteja instalado. Caso ainda não esteja, veja como instalar aqui.
sudo a2enmod rewrite
Habilitando o Htaccess
Um arquivo .htaccess
permite modificar regras de reescrita de URL sem acessar arquivos de configuração do servidor. Provavelmente será necessário fazer essa configuração para usar as URL’s amigáveis. Por isso, .htaccess
é crítico para a segurança da sua aplicação. O ponto no início do nome garante que o arquivo fica escondido.
A instalação padrão do Apache2 proibe o uso do .htaccess
para aplicar regras de reescrita, então primeiro será necessário dar algumas permissões. Abra o arquivo de configuração do Apache:
sudo vi /etc/apache2/sites-available/000-default.conf
Dentro do arquivo você vai encontrar a linha <VirtualHost *:80>
logo no início. Insira dentro desse bloco os códigos abaixo. Presta atenção na identação das linhas.
<VirtualHost *:80>
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
. . .
</VirtualHost>
Salve e feche o arquivo. Para que as alterações surtam efeito, reiniciar o servidor apache:
sudo service apache2 restart
Pronto! A reescrita de URL e o arquivo .htaccess estão habilitados!
2
Obrigado pelo conteúdo, salvou meu dia aqui 🙂
Opa! Que bom que ajudou Estavao!
Olá depois de vasculhar a internet inteira a sua solução resolveu meu problema. Parabéns pelo trabalho.
Abraços
Show de bola Bruno! Obrigado pelo feedback.
Bom dia Frederico, fiz o procedimento não deu certo:
* Meu apache esta rodando normal.
* Eu consigo acessar minha pagina de login.
Clayton, já conseguiu resolver? Me chama nas redes sociais que combinamos de te ajudar nisso.
Boa tarde Frederico tudo bem , meu nome é Israel estou com o mesmo problema , mas fiz esse procedimento mas para mim não funcionou .poderia me ajudar. fico grato desde já.
Boa tarde Israel! Você tem o arquivo .htaccess na raíz do seu projeto? Geralmente precisa de fazer a regra da reescrita lá. Ex:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Fiz todo procedimento, mas não funcionou. Estou usando mint 19.2 e php 7.2. Poderias me ajudar? Desde já agradeço.
Olá Caio! Obrigado pelo comentário. O root do apache no seu computador é /var/www/html mesmo? O apache está funcionando corretamente, certo? Você consegue acessar a home do site?
Caio estou usando o Apache2 no Mint e fiz o procedimento acima e mesmo assim não funcionou, poderia ajudar por favor onde estou errando ?
Olá Caio, como vai? A reescrita não está funcionando? O apache está ok? Consegue abrir a primeira página do site?
Cara Show de bola me ajudou, obrigado. Forte abs
Valeu meu caro! Precisando estamos às ordens. Abraço