Criando URLs Amigáveis no PHP com Apache

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:

  1. 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
  1. 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.

  1. Crie um novo arquivo chamado .htaccess.
  2. 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!

Rolar para cima