Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ooi guys! Seguinte:
Estou precisando fazer uma URL amigável para as publicações de um fórum
Para consultar a publicação é enviado um valores pela URL, dessa forma:
post.php?id=1&titulo=Tecnologia da Informação ligada ao Poder Judiciário - Um pequeno Histórico
Eu queria fazer com que ficasse dessa forma a URL:
post/1/tecnologia-da-informação-ligada-ao-poder-judiciário-um-pequeno-histórico
Não faço a mínima ideia de como fazer isso.
Desde já, Agradeço
Cara, muito obrigado, já me ajudou muito!
Mas ainda sobra umas dúvidas minha:
Como faço para buscar os valores de id e título que irão sair na url?
Como redireciono para a página post?
>
Em 12/07/2019 at 09:24, WitchMad disse:
Cara, muito obrigado, já me ajudou muito!
Mas ainda sobra umas dúvidas minha:
Como faço para buscar os valores de id e título que irão sair na url?
Como redireciono para a página post?
Simples não?
Tudo que entra e GET "url" ao qual temos o array, é só ir ap índice do array que contém essa informação.
Isso é você quem vai controlar no código ao repassar os links.
Existem diversas formas de trabalhar com urls amigáveis.
Eu gosto de fazer assim:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1
Então tudo que entrar depois do endereço do website passa ser uma string url mesmo com barras etc...
O que faço é buscar todas as ocorrências das barras e separar em índices
<?php
/*
* Isso poderia ser um método de classe que retornasse o array $url
*/
// Pegamos o valor que vem do apache pelo htacess url
$filter = filter_input(INPUT_GET, 'url', FILTER_DEFAULT);
// Se existir algum valor usamos se não o valor padrão será inicio
$setUrl = empty($filter) ? 'inicio' : $filter;
// Quebramos então em um array todas as ocorrencias de barras
$explode = explode('/', $setUrl);
// Caso haja algum valor nulo ou vazio ele será removido
$url[0]; // É "post"
$url[1]; // É "1"
$url[2]; // É "tecnologia-da-informacao-ligada-ao-poder-judiciario-um-pequeno-historico"
No mais é criar tratamentos para converter espaços em traços e acentos em letras comuns. E principalmente para remover códigos caso vá trabalhar com banco de dados.