Jump to content


Photo

Url Amigável, Mesma Qtde De Variáveis, Mas Diferentes


  • Faça o login para participar
9 replies to this topic

#1 Livia29

Livia29

    Novato no fórum

  • Usuários
  • 15 posts
  • Sexo:Feminino
  • Localidade:São Paulo

Posted 24/03/2012, 09:30

Olá

Estou tentando fazer um esquema de URL amigável no meu site. Sou leiga nisso...

Meu arquivo .htaccess está assim:

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([a-z]+)/?$ index.php?pg=$1

RewriteRule ^([a-z]+)/([0-9]+)/?$ index.php?pg=$1&$ano=$2
RewriteRule ^([a-z]+)/([a-z,_-]+)/?$ index.php?pg=$1&titulo=$2
RewriteRule ^([a-z]+)/([a-z]+)/?$ index.php?pg=$1&tipo=$2
RewriteRule ^([a-z]+)/([a-z]+)/?$ index.php?pg=$1&modo=$2

RewriteRule ^([a-z]+)/([0-9]+)/([0-9]+)/([a-z]+)/?$ index.php?pg=$1&ano=$2&$4=$3 [L]
</IfModule>


O primeiro RewriteRule e o último estão funcionando. O do $ano=$2 e o do $titulo=$2 também funcionam. Os outros dois, não.

Pensei que podia ser por estar igual ali na regra, mas já tentei mudar para algo tipo ^([a-z]+)/([a-z,0-9]+)/?$ em um deles, e continua não funcionando...

Não queria ter que colocar algo tipo arquivo/tipo/texto na url, queria que fosse apenas arquivo/texto.

As urls em query string funcionam normalmente.

Alguém pode me ajudar a corrigir?

Edição feita por: Livia29, 24/03/2012, 09:30.


#2 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 24/03/2012, 09:50

Como o sistema vai saber qual regra aplicar se os testes são iguais? Ex:

RewriteRule  ^([a-z]+)/([a-z]+)/?$ index.php?pg=$1&tipo=$2
RewriteRule  ^([a-z]+)/([a-z]+)/?$ index.php?pg=$1&modo=$2
Uma url que caia no primeiro caso, também cai no segundo. Então o segundo nunca vai funcionar, porque sempre vai pegar o primeiro. Você precisa montar urls que não deixem dúvida sobre qual regra deve ser aplicada.

#3 Livia29

Livia29

    Novato no fórum

  • Usuários
  • 15 posts
  • Sexo:Feminino
  • Localidade:São Paulo

Posted 24/03/2012, 09:59

Uma url que caia no primeiro caso, também cai no segundo. Então o segundo nunca vai funcionar, porque sempre vai pegar o primeiro. Você precisa montar urls que não deixem dúvida sobre qual regra deve ser aplicada.


São 4 urls parecidas. Duas estão funcionando e imaginei que porque as regras são diferentes. Sendo assim, porque quando mudo uma das regras das duas de baixo (tornando as 4 diferentes), não funciona? É o que não entendi...

Queria saber se alguém tem uma idéia de como posso fazer isso, porque não conheço bem sobre isso.

Não posso mudar as urls, a query string está toda pronta...

Edição feita por: Livia29, 24/03/2012, 10:07.


#4 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 24/03/2012, 10:14

Mostre as urls que você quer pegar.

#5 Livia29

Livia29

    Novato no fórum

  • Usuários
  • 15 posts
  • Sexo:Feminino
  • Localidade:São Paulo

Posted 24/03/2012, 10:24

Mostre as urls que você quer pegar.


index.php?pg=shows&ano=$ano
index.php?pg=news&titulo=$title
index.php?pg=media&tipo=$med
index.php?pg=repert&modo=$mod

Fiz um teste aqui e mesmo retirando o RewriteRule do modo, não funciona o do tipo.

#6 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 24/03/2012, 10:27

E as urls amigáveis? Como são?

#7 Livia29

Livia29

    Novato no fórum

  • Usuários
  • 15 posts
  • Sexo:Feminino
  • Localidade:São Paulo

Posted 24/03/2012, 10:31

E as urls amigáveis? Como são?


Seriam

/shows/$ano
/news/$title
/media/$med
/repert/$mod


A da primeira e da última RewriteRule funcionam bem.

/shows
/media
/repert, etc

e da última

/shows/$ano/$data/$dado

#8 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 24/03/2012, 10:42

Faz assim:

RewriteRule  ^([a-z]+)/?$ index.php?pg=$1 [L]

RewriteRule  ^shows/([0-9]+)/?$ index.php?pg=shows&$ano=$1 [L]
RewriteRule  ^shows/([0-9]+)/([0-9]+)/([a-z]+)/?$ index.php?pg=shows&ano=$1&$3=$2 [L]

RewriteRule  ^news/([a-z,_-]+)/?$ index.php?pg=news&titulo=$1 [L]

RewriteRule  ^media/([a-z]+)/?$ index.php?pg=media&tipo=$1 [L]

RewriteRule  ^repert/([a-z]+)/?$ index.php?pg=repert&modo=$1 [L]


#9 Livia29

Livia29

    Novato no fórum

  • Usuários
  • 15 posts
  • Sexo:Feminino
  • Localidade:São Paulo

Posted 24/03/2012, 10:49

Faz assim:

RewriteRule  ^([a-z]+)/?$ index.php?pg=$1 [L]

RewriteRule  ^shows/([0-9]+)/?$ index.php?pg=shows&$ano=$1 [L]
RewriteRule  ^shows/([0-9]+)/([0-9]+)/([a-z]+)/?$ index.php?pg=shows&ano=$1&$3=$2 [L]

RewriteRule  ^news/([a-z,_-]+)/?$ index.php?pg=news&titulo=$1 [L]

RewriteRule  ^media/([a-z]+)/?$ index.php?pg=media&tipo=$1 [L]

RewriteRule  ^repert/([a-z]+)/?$ index.php?pg=repert&modo=$1 [L]


FUNCIONOU!!!

Muito obrigada! :)

#10 JeffMalm

JeffMalm

    Super Veterano

  • Usuários
  • 12254 posts
  • Sexo:Feminino
  • Localidade:Mount Carey

Posted 09/02/2023, 20:37

stromectol cream Don t stop taking any prescribed medication without speaking to your healthcare provider first
If horses need medication that badly then surely they shouldn t be racing next best thing to nolvadex donepezil kpa cialis billigt i sverige Burberry, for all its success over the last decade as a global fashion brand, is a comparative minnow
ondansetron and bedaquiline both increase QTc interval how to get viagra or cialis
finasteride tablets for sale viagra para que sirve el piracetam 800 mg It s an unlikely standard bearer, then, but that doesn t preclude Pikmin 3 from being a wonderful game
Conclusion The addition of FEC50 adjuvant chemotherapy to tamoxifen significantly improves long term DFS in N1 3, ER and postmenopausal women lasix for edema
Cosmedica Skincare, Carry On Hydration Duo, 2 Piece Kit can you drink alcohol with viagra Changes in interictal spike frequency in control subjects Interictal spike frequencies were tabulated and plotted for 11 patients who received neither furosemide nor mannitol treatment upper plot
The thing that s missing among all the 10 doctors that you see as a cancer patient How we were and weren t cheap cialis online canadian pharmacy Administration for Chlamydia infections Treat birds for 45 days




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq