Jump to content
Fórum Script Brasil
  • 0

[Resolvido] mod_rewrite URL amigáveis


Alex0007
 Share

Question

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?

Edited by Alex0007
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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"

Edited by Alex0007
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.8k
    • Total Posts
      648.8k
×
×
  • Create New...