As URLs amigáveis, também conhecidas como URLs limpas ou SEO-friendly, são URLs que são fáceis de ler e entender tanto para os usuários quanto para os motores de busca. Em vez de utilizar URLs com parâmetros e caracteres especiais, como “www.example.com/produto.php?id=123”, as URLs amigáveis são estruturadas de forma mais simples e significativa, como “www.example.com/produto/123/nome-do-produto”.
Neste artigo, vamos mostrar como criar URLs amigáveis usando PHP e o servidor Apache. Vamos assumir que você já tem um ambiente de desenvolvimento configurado com o PHP e o Apache instalados.
Passo 1: Configurando o servidor Apache
Antes de começarmos, é necessário habilitar a funcionalidade de reescrita de URLs no servidor Apache. Para isso, siga os seguintes passos:
- Verifique se o módulo
mod_rewrite
do Apache está ativado. Para fazer isso, abra o terminal e digite o seguinte comando:
sudo a2enmod rewrite
- Reinicie o servidor Apache para aplicar as alterações:
sudo service apache2 restart
Passo 2: Criando o arquivo .htaccess
O próximo passo é criar um arquivo .htaccess
na raiz do seu projeto ou no diretório onde deseja que as regras de reescrita sejam aplicadas. O arquivo .htaccess
permite que você defina regras específicas para a reescrita de URLs.
- Crie um novo arquivo chamado
.htaccess
. - Abra o arquivo
.htaccess
com o seu editor de texto preferido.
Passo 3: Escrevendo as regras de reescrita
Agora, vamos escrever as regras de reescrita no arquivo .htaccess
para redirecionar URLs amigáveis para scripts PHP que manipularão as requisições.
Por exemplo, vamos converter a URL amigável “www.example.com/produto/123/nome-do-produto” para a URL com parâmetros “www.example.com/produto.php?id=123”.
Insira as seguintes linhas no arquivo .htaccess
:
RewriteEngine On
RewriteBase /
RewriteRule ^produto/([0-9]+)/([\w-]+)$ produto.php?id=$1 [L]
Passo 4: Tratando a requisição no script PHP
Agora, precisamos criar o arquivo produto.php
que será responsável por tratar a requisição e mostrar o conteúdo da página do produto correspondente.
<?php
// produto.php
if (isset($_GET['id'])) {
$produtoId = $_GET['id'];
// Aqui você pode usar o ID do produto para buscar as informações do produto no banco de dados ou em outras fontes de dados.
// Por exemplo, você pode usar um ORM ou um sistema de roteamento para chamar o controlador adequado e exibir os detalhes do produto.
// Exemplo simples de saída:
echo "Detalhes do Produto ID: " . $produtoId;
} else {
// Caso não seja passado um ID válido, você pode exibir uma mensagem de erro ou redirecionar para uma página de erro 404.
echo "Produto não encontrado.";
}
?>
Conclusão
Agora você tem um sistema de URLs amigáveis funcionando em seu projeto PHP com o servidor Apache. Isso tornará suas URLs mais legíveis e amigáveis para os usuários e ajudará na indexação das páginas pelos motores de busca.
Lembre-se de que a estrutura do .htaccess
pode variar dependendo das necessidades do seu projeto, e você pode adicionar mais regras de reescrita para outros tipos de URLs, conforme necessário.
Espero que este artigo tenha sido útil e que você possa implementar com sucesso URLs amigáveis no seu projeto em PHP. Boa sorte!