Jump to content


Photo

Mod_rewrite


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

#1 erloracc

erloracc

    Normal

  • Usuários
  • 117 posts
  • Sexo:Não informado
  • Localidade:Pernambuco/BRASIL

Posted 16/09/2008, 20:23

Primeiramente gostaria de dizer que encontrei centenas de exemplos aqui e fora do forum, porem nenhum deles resolveu meu problema. Estou desde as 9h da manha de hoje tentando e procurando e nada.

Vamos lá!

Tenho um site: www.meusite.com.br e dentro desse domíno tenho varios outros sites
Ex: www.meusite.com.br/jogos www.meusite.com.br/culinaria www.meusite.com.br/catalogo

Nesse em especial "www.meusite.com.br/jogos" to querendo usar url amigaveis.

To querendo fazer os seguinte tipo de url:


www.meusite.com.br/jogos/?acao=pagina&cat=aventura&id=45 >>> www.meusite.com.br/jogos/pagina/aventura/45
www.meusite.com.br/jogos/?acao=pagina >>> www.meusite.com.br/jogos/pagina
www.meusite.com.br/jogos/?acao=pagina&id=45 >>> www.meusite.com.br/jogos/pagina/45


Até consegui fazer, mas apenas um dos tipos mas preciso que aceite os 3 ao mesmo tempo.


Outro problema é que pode ser acessado tanto "www.meusite.com.br/jogos" ou no sub-dominio "jogos.meusite.com.br" e isso ta gerando problemas com o caminho das imagens, css, etc.

Se alguem puser ajudar agradeço.

**editado**

GENTE ACABEI DE CONSEGUI!

A questão das url ja consegui, o unico problema é quanto os css, js, etc.

Edição feita por: erloracc, 16/09/2008, 21:02.

Acesse Host
Portal Paulista Digital
www.paulistadigital.com.br
www.acessehost.com.br
MSN: leofernandes2004 [at] hotmail.com

#2 Ferlouko x)

Ferlouko x)

    Normal

  • Usuários
  • 72 posts
  • Sexo:Masculino
  • Localidade:Guararapes
  • Interesses:PHP, OOP, DESIGN PATTERNS, mySQL, XML, (X)HTML, CSS, TABLELESS, PHP-GTK, JAVA, C++.

Posted 16/09/2008, 23:31

se o problema é soh nas imagens.. e arquivos.. css, js..

na hora de adicionar.. eh soh colocar "/pasta" .. aiw não tem erro..
vai direto no diretório pedido..
flws
<?php
/**
* @author. . .Fernando Rodrigo Cardoso < ferlouko (at) gmail.com >
* @desc. . . .Desenv. PHP, (X)HTML, CSS, JS E AJAX, aprendiz JAVA, aprendiz C/C++ (...)
*/
?>

#3 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 17/09/2008, 09:20

Você pode negar essas coisas...

RewriteRule !\.(js|ico|txt|css|)$ index.php



#4 erloracc

erloracc

    Normal

  • Usuários
  • 117 posts
  • Sexo:Não informado
  • Localidade:Pernambuco/BRASIL

Posted 17/09/2008, 11:39

Olá Ferlouko x),

Se eu estiver acessando pelo sub-dominio "jogos.meusite.com.br" tudo blz vai se referir a raiz, mas se acessar como pasta "www.meusite.com.br/jogos" vai se referir a raiz do dominio e não a pasta.

Meu .htaccess


RewriteRule ^(.+)/(.+)/(.+)/$ index.php?acao=$1&cat=$2&desc=$3 [L]
RewriteRule ^(.+)/(.+)/$ index.php?acao=$1&cat=$2 [L]
RewriteRule ^(.+)/$ index.php?acao=$1 [L]

Como posso inplementar esse codigo no meu
RewriteRule !\.(js|ico|txt|css|)$ index.php

Esse "RewriteBase /" pelo que vi se refere a base do sistema

Tem como eu fazer algum tipo de "if" para verivicar se é sub-dominio ou esta sendo acessao pela pasta?

Ahh, e se alguem tiver algum link falando a respeito para que eu possa estudar :)

Edição feita por: erloracc, 17/09/2008, 12:30.

Acesse Host
Portal Paulista Digital
www.paulistadigital.com.br
www.acessehost.com.br
MSN: leofernandes2004 [at] hotmail.com

#5 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 17/09/2008, 13:42

Sim! :)
Isso está muito bem descrito no manual... dá uma olahda ;)
http://httpd.apache....tml#RewriteRule

#6 erloracc

erloracc

    Normal

  • Usuários
  • 117 posts
  • Sexo:Não informado
  • Localidade:Pernambuco/BRASIL

Posted 17/09/2008, 16:18

Gente o negocio ta ruim p meu lado. Li no link acima mas não entendi muito.

To usando o codigo abaixo:
RewriteRule ^(.+)?/(.+)?/(.+)?$ index.php?acao=$1&uid=$2&desc=$3 [L]

Apesar de que prefiro ler e fazer eu mesmo para aprender dessa vez me rendo e se alguem puder postar o codigo, muito obrigado mesmo.

O que to precisando:

Na mesma pagina acesso varios links diferentes
Ex:

URL normais atuais

www.meudominio.com.br/?acao=categoria
www.meudominio.com.br/?acao=categoria&id=2
www.meudominio.com.br/?acao=categoria&id=2&desc=aventura
www.meudominio.com.br/?acao=categoria&id=2&desc=aventura&pg=3

URL que quero fazer

www.meudominio.com.br/categoria
www.meudominio.com.br/categoria/

www.meudominio.com.br/categoria/2
www.meudominio.com.br/categoria/2/

www.meudominio.com.br/categoria/2/aventura
www.meudominio.com.br/categoria/2/aventura/

www.meudominio.com.br/categoria/2/aventura/3
www.meudominio.com.br/categoria/2/aventura/3/

Preciso do codigo que tanto se eu acessar com 1, 2, 3 ou 4 parametros ele funcione normalmente, outro problema é que funcione colocando ou não uma barra no final do endereço.
Acesse Host
Portal Paulista Digital
www.paulistadigital.com.br
www.acessehost.com.br
MSN: leofernandes2004 [at] hotmail.com

#7 Ferlouko x)

Ferlouko x)

    Normal

  • Usuários
  • 72 posts
  • Sexo:Masculino
  • Localidade:Guararapes
  • Interesses:PHP, OOP, DESIGN PATTERNS, mySQL, XML, (X)HTML, CSS, TABLELESS, PHP-GTK, JAVA, C++.

Posted 17/09/2008, 23:35

eu uso assim :
RewriteEngine on
RewriteRule ^([/-ÿ][^.]+)?$ index.php?ShowPagePath=true&ContentRateOne=$1

aiw no caso .. ele tem um lista negada do "."
Assim vc poderá ter infinitas.. pastas no URL .. eh soh pegar o valor GET "ContentRateOne" e eximinálo
ow seja.. c for "arquivo.formato" ele vai para o arquivo.. exista ele ow naum..!
Esta GET eu usava no caso pra informar a GET.. q estava sendo exibida por PATH..
jah..q no caso PHP_SELF o arquivo a aparecer no caso vai ser "index.php" e na
QUERY_STRING "ShowPagePath=true&ContentRateOne=$1"

espero q ajude.. !
<?php
/**
* @author. . .Fernando Rodrigo Cardoso < ferlouko (at) gmail.com >
* @desc. . . .Desenv. PHP, (X)HTML, CSS, JS E AJAX, aprendiz JAVA, aprendiz C/C++ (...)
*/
?>

#8 erloracc

erloracc

    Normal

  • Usuários
  • 117 posts
  • Sexo:Não informado
  • Localidade:Pernambuco/BRASIL

Posted 18/09/2008, 10:42

Cara desculpe minha ingnorancia mas não entendi nadinha. Sou leigo em ER e principalmente em Rewrite.

Com essa regra eu posso acessar as url que preciso so com esse codigo? Ou seja, so preciso usar sua dica no .htaccess e começar a usar as URL's?
Acesse Host
Portal Paulista Digital
www.paulistadigital.com.br
www.acessehost.com.br
MSN: leofernandes2004 [at] hotmail.com

#9 Ferlouko x)

Ferlouko x)

    Normal

  • Usuários
  • 72 posts
  • Sexo:Masculino
  • Localidade:Guararapes
  • Interesses:PHP, OOP, DESIGN PATTERNS, mySQL, XML, (X)HTML, CSS, TABLELESS, PHP-GTK, JAVA, C++.

Posted 18/09/2008, 12:47

basicamente sim.. xD

bem vou dar um Exemplo:

aqui vem o .htaccess :

RewriteEngine on
RewriteRule ^([/-ÿ][^.]+)?$ index.php?ShowPagePath=true&ContentRateOne=$1
digamos que eu tenha acessado EX: "http://www.exemplo.c...o/outroexemplo"
a página real que vai ser acessada então vai ser:
"index.php?ShowPagePath=true&ContentRateOne=/pastaexemplo/pastaexemplo/outroexemplo"
aiw desta GET "ContentRateOne" você retira a pasta de acesso!





EDIT
jah tinha esquecido..
aiw da um explode no GET, i pronto!
detalhe : Se na URL for acessado "http://www.exemplo.c...o/outroexemplo"
por ele conter o "." ele vai para o arquivo.. seja ele REAL ow INEXISTENTE..
sacow ?

Edição feita por: Ferlouko x), 18/09/2008, 12:51.

<?php
/**
* @author. . .Fernando Rodrigo Cardoso < ferlouko (at) gmail.com >
* @desc. . . .Desenv. PHP, (X)HTML, CSS, JS E AJAX, aprendiz JAVA, aprendiz C/C++ (...)
*/
?>




0 user(s) are reading this topic

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

IPB Skin By Virteq