Ir para conteúdo
Fórum Script Brasil
  • 0

[Resolvido] mod_rewrite URL amigáveis


Alex0007

Pergunta

Queria saber como fazer o seguinte link usando a regra do rewrite

http://meusite.com/categorias/jogos-2/

Onde existam 3 variaveis

Variavel 1 = "categorias"

Variavel 2 = "jogos"

Variavel 3 = "-2" (esse seria a paginação, -1, -2, -3, etc)

Como faço pra fazer essa regra?

Editado por Alex0007
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

já fiz o htaccess com esse exemplo

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ index.php?p=$1&v2=$2

mais daí sai isso: www.meusite.com/categorias/jogos/

não sei como fazer pra ter a terceira variável do jeito que eu quero.

Link para o comentário
Compartilhar em outros sites

  • 0

já tentei assim tb:

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)-([0-9]+)$ index.php?p=$1&v2=$2&v3=$3

Mas ele retorna só 2 variavel com o link www.meusite.com/categorias/jogos-1

p="categorias"

v2="jogos-1"

v3=""

na variavel 3 o valor não existe!

Alguém pode dar uma força aew?

Link para o comentário
Compartilhar em outros sites

  • 0

Consegui fazer desse jeito

Arquivo .htaccess

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?v1=$1

RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?v1=$1

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9-]+)$ index.php?v1=$1&v2=$2

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9-]+)/$ index.php?v1=$1&v2=$2

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9-]+)_([0-9]+)$ index.php?v1=$1&v2=$2&v3=$3

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9-]+)_([0-9]+)/$ index.php?v1=$1&v2=$2&v3=$3

Url amigavel: meusite.com/categorias/tiro-em-primeira-pessoa_2

variavel 1 = "categorias"

variavel 2 = "tiro-em-primeira-pessoa"

variavel 3 = "2"

Editado por Alex0007
Link para o comentário
Compartilhar em outros sites

  • 0

Que bom alex que voce resolveu seu problema cara. Não me aproveitando muito so me tire uma duvida. No código .htaccess

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9-]+)_([0-9]+)/$ index.php?v1=$1&v2=$2&v3=$3

v1, v2 e v3 seriam os delimitadores?! No caso v1 seria a "/" ou o "_" e $1 seria o valor a ser empregado pra várivavel? Estou correto?!?

Att Del Palmis ;)

Link para o comentário
Compartilhar em outros sites

  • 0
Que bom alex que voce resolveu seu problema cara. Não me aproveitando muito so me tire uma duvida. No código .htaccess

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9-]+)_([0-9]+)/$ index.php?v1=$1&v2=$2&v3=$3

v1, v2 e v3 seriam os delimitadores?! No caso v1 seria a "/" ou o "_" e $1 seria o valor a ser empregado pra várivavel? Estou correto?!?

Att Del Palmis ;)

v1, v2 e v3 são variáveis igual $_GET

$1, $2 e $3 é um identificador para o .htaccess, por exemplo

$1 = "^([a-zA-Z0-9_-]+)"

$2 = "([a-zA-Z0-9-]+)"

$3 = "([0-9]+)"

Como está no parâmetro estabelecido pelo mod_rewrite

Um exemplo:

http://meusite.com/categoria/videos_5 é o mesmo que:

index.php?v1=categoria&v2=videos&v3=5

no meu php eu uso funçoes "if" para identificar as variáveis v1, v2, v3 por exemplo

O link "http://meusite.com/contato" (parece uma pasta mais não é, é uma variavel camuflada)

if($_GET["v1] == "categoria") {

include("contato.php");

}

e esse código tem que ficar no index.php que foi onde eu indiquei no arquivo .htaccess para ser a base do mod_rewrite

Espero ter esclarecido, também fiquei perdido com essa técnica.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...