Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Void :

quem manja ER !?

Recommended Posts

Da-lhe,Então galera, to configurando umas urls amigaveis aqui no meu apache, e travei com uma ER!o link vem http://localhost/post/create/ e devera ser interpretado dessa forma

http//localhost/setRoute.php?controller=$1&action=$2

mas ta complicado aqui, sou uma droga com ER's, entendo pouca coisa, o mais próximo que consegui foi

RewriteRule ^(.*)\/(.*)\/\/?$ /rewrite.php?controller=$1&action=$2

Dai quando eu vou debugar, o valor de controller vem = "/post" e não apenas "post" como deveria ser.e outra, quando eu não coloco "/" no final do link, da página não encontrada!!!![]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

ER não é meu forte, mas certa vez um membro de outro fórum me disse que se você está setando 2 variaveis a serem recebidas é necessário passa-las senao nao funciona....

 

Fiz um teste da seguinte maneira:

 

RewriteRule ^(.*)\/(.*)\/$ rewrite.php?controller=$1&action=$2

Só que passando somente a variavel "controller" ele não acessa ja passando

ela completa com 2 parametros funciona...

 

E outra, agora pode por a barra no final que funciona ....já sem ela não http://forum.imasters.com.br/public/style_emoticons/default/closedeyes.gif

Tudo meia boca, mas quem sabe ti ajude!!

 

Vou testando mais algumas coisinhas aqui....se der certo volto a postar

Compartilhar este post


Link para o post
Compartilhar em outros sites

rolo não ....a mesma coisaconsegui retirar a primeira contra barra da primeira variavelentão ficou

^\/(.*)\/(.*)\/$
mas ainda não consegui criar uma lógica, para

http//localhost/post/create ////sem a ultima barra não funciona

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae Void beleza?

 

ER nao é dificil nao, depois que voce pega o jeito voce ve que nao é um bicho de 7 cabeças

 

testa ai:

 

RewriteRule ^(http:\/\/(.+?)\/)(.*)\/(.*)?\/? /rewrite.php?controller=$3&action=$4

 

eu testei aqui com php, nao sei como ira se comportar com o Rewrite, mas qualquer coisa se fala se deu certo ou nao

 

eu coloquei um opcional se caso nao tiver /create ele pega só o post

 

ah se quiser que eu explico caracter por caracter dai quem sabe te da um luz melhor.

 

ve ai e me fala t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

ehhehevaleu genteentão fabão, eu meti essa rule, e deu um Internal Server Errore sobre o seu tutorial p lion eu ja tinha visto ja .... na verdade, eu to configurando os rules com o .htaccess, e só essa ER que me travou aqui!

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem eu sei que sempre vai retorna esse /nome por isso que eu até avisei no meu tuto eu já tentei varias formas de ER no que fiz mais a melhor forma que consegui foi a quele que postei no tuto =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

pouts, por essa eu não esperava ein ....agora, surgiu uma dúvida, eu posso criar várias rules !?neste estilo:

RewriteRule ^(http:\/\/(.+?)\/)(.*)\/(.*)?\/?$ rewrite.php?controller=$3&action=$4RewriteRule ^(http:\/\/(.+?)\/)(.*)\/(.*)?\/?$ index.php?var=$3&var2=$4

???pouts, se não puder, fudeu!ps: lembrando que ainda estou a procura da ER perfeita pq essas deram pau eeueheuhe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode criar sim.... mais acho meio que inutel... pois toda vez que você tiver uma nova sessão você terá que criar mais um rulesJá da maneira que eu montei no meu tuto você não fica limitado a ter que ficar fazendo sisso =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então o unico problema p lion, é que eu estou usando o zend ai eu queria fazer utilizando o .htaccess ... agora virou questão de honra manja !

euheuheuheuehe

eu vou conseguir véi !!! com certeza

vem cumigu!

 

E na verdade assim, no meu caso, eu só criaria duas regras. por que ?

 

Porque eu estou utilizando o Zend como eu ja havia citado anteriormente, e o projeto que estou desenvolvemento é consideravelmente grande, e de acordo com a estrutura de arquivos do padrão MVC os arquivos da pasta public_html são somente os responsáveis por instanciar uma classe de controle.

 

Oque acontece é que em muitos casos eu preciso reescrever uma rota, porque alguns arquivos ".php" estão em sub-diretórios, e o Zend interpreta a REQUESTI_URI

 

para gerar o controle e a ação, ou seja, caso eu tenha o seguinte endereço http://localhost/usuario/novo/ o zend ira interpretar da

 

seguinte forma: controle = usuario e ação = novo, agora se eu tiver um arquivo em um sub-diretório, por exemplo :

 

http://localhost/modulo1/chamado/procurar/ ele ira interpretar incorretamente, assim ó controle = modulo1 e

 

ação=chamado, mas na verdade deveria ser controle = chamado e ação = procurar do módulo1

 

sacou !??????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se consegui demoro para postar para todos =) o maximo que consegui foi aquilo lá... se conseguir algo mesmo demoro =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

claro, com certeza meu brother!mais ta F*DAta complicado, por causa disso ó:

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

sacaram!???Tudo que for diferente dessa lista, eu redireciona para o index.php.essa rule é necessário por causa do zend, sem ela, ele não funciona ...To tentando diversas coisas p/ botar pra funcionar o zend com url amigaveis, mas ta f*** !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

eah, entãodepois de muito apanhar, a unica solução plausível que achei foi uma próxima da sua mesmo p lion.Realmente não há possibilidade de utilizar o Zend com url amigaveis configuradas pelo htaccess !mas ta beless!!!Eu vou dar uma aprimorada no script aqui, e depois eu posto !valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, eu uso uma Rule que funciona certinho em um site que desenvolvi.

 

para passar 2 variaveis assim deve funcionar:

RewriteRule ^([^/]*)\/([^/]*)\/?$ index.php?opc=$1&act=$2 [QSA,L]
detalhe: funciona colocando ou não a barra no final!! =D

 

Ai me fala se funcionou ai pro teu caso!

 

Abração!

Compartilhar este post


Link para o post
Compartilhar em outros sites

URUUU!!consegui galeradepois de muito apanhar, entendi como funciona esse mod_rewrite, muito show este arquivinho de config. do apache !O meu no final ficou assim:

RewriteEngine onRewriteBase /RewriteCond %{REQUEST_URI} !-dRewriteRule ^(.+)\/(.+)\/(.+)\/$ rewrite.php?controller=$3&action=$2&basePath=$1 RewriteCond %{REQUEST_FILENAME} !-fRewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.phpphp_flag magic_quotes_gpc offphp_value include_path "D:/web/src/lib/zf/library;D:/web/src/lib/ez/"

Agora meu zend funciona com urls amigaveis!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, acho que de todos os usuários do forum, eu sou o pior em explicação.

me desculpa.

 

Mas eu vou me esforçar, se voce nao entender, pergunta denovo!

 

Seguinte, para utilizar o Zend em suas aplicações, é necessário que voce configure um arquivo .htaccess localizado no document root (htdocs) da sua maquina, ou do servidor.

 

Este arquivo .htaccess é um "arquivo externo" de configurações do apache (não sei se é o termo mais correto de se definir o arquivo .htaccess ....)

 

Neste arquivinho, eu configurei minhas regras de pasta em que ele esta localizado ....

 

Para maiores informações sobre o .htaccess, acesse

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

e tambem http://brunotorres.net/2005/02/01/urls-again

e por fim http://www.devin.com.br/eitch/dicas_apache/ :D

 

No meu arquivo, eu consegui configurar urls amigaveis, e o zend junto ... estou a 2 semanas tentando, mas confesso que não tentei muito, hj eu parei, sentei pra resolver e fiquei o dia inteiro .... mandei e-mails pra uma galera que eu conhecii no php-conference, e eles me deram algumas idéias ... ai eu juntei tudo e criei a minha solução

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.