Jump to content


Photo

Mod Rewrite E Friendly Url's...


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

#1 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 27/04/2006, 21:39

Pessoal eu DESISTO, a menos que alguém me ajude, hehehe

Eu quero muito aprender a usar esse negócio de Friendly URL's. Não parece difícil, mas pra funcionar tem de ao menos rodar no servidor Web né?
E no meu Apache esse troço não funciona nem com reza brava.

É meio radical, mas esse é meu httpd.conf

HTTPD.CONF

Help me, please :lol:
Mas é sério pessoal.

[]'s

#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 27/04/2006, 22:03

Eu queria até traduzir o manual, mas comecei e está parado...
http://httpd.apache....od_rewrite.html

Bom, vou tentar lhe explicar como habilitei aqui.

Na lista de modules, descomentei a linha:

LoadModule rewrite_module modules/mod_rewrite.so


E dentro de:

<Directory "C:/Arquivos de programas/Apache Group/Apache2/htdocs">
...
</Directory>


Coloquei:

AllowOverride All


Se eu não esqueci nada, foi isso. :P
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#3 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 28/04/2006, 12:14

Tu deu uma olhada no meu httpd.conf?
Tem tudo o que tu disse..

E ainda assim não funciona

[]'s

#4 wmonline

wmonline

    Webmaster

  • Admin Geral
  • 238 posts
  • Sexo:Masculino

Posted 28/04/2006, 13:47

Vê no log de erro qual erro que dá (se dá ERRO 500 qdo vc testa)
logs/error.log

o meu .htaccess que funciona URL amigável aqui tem o seguinte formato.

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)/(.*)\.htm$ /site.php?secao=$1&conteudo=$2 [L,QSA]
  
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.+[^/])$ /site.php?secao=$1 [L,QSA] 
  RewriteRule ^([a-zA-Z0-9]*)/$ /site.php?secao=$1 [L,QSA] 
</IfModule>

Onde para todos os acessos à seguinte URL: http://meusite/teste/testando.htm, ele executa site.php?secao=secao&conteudo=testando

É um CMS que criei e usei URL amigável, por isso os args são secao e conteudo. O .htaccess aceita tb, apenas o nome da seção como por exemplo: http://meusite/teste/ , neste caso ele vai pegar o último conteúdo cadastrado (site.php?secao=teste).

P.S: vale notar que o .htaccess fica na raiz do site. (www)..

#5 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 28/04/2006, 14:43

Sim mas o problema não é no .htaccess e sim no Apache.
Pois o .htaccess tá criado certinho pelo(s) desenvolvedore(s) do(s) script(s).
Mas quando eu acesso uma URL desses sistemas depois de instalado localmente, dá que a página não pode ser exibida, pois o Apache não "reconheceu" as URL's amigáveis descritas no .htaccess.

Sentiram o drama?

[]'s

#6 wmonline

wmonline

    Webmaster

  • Admin Geral
  • 238 posts
  • Sexo:Masculino

Posted 28/04/2006, 15:49

Putz.. meu amigo. Reallmente não sei no que posso te ajudar.
Estou anexando meu httpd.conf, para vê se te esclarece um pouco.

Espero q ajude em algum ponto. As minhas configs sao padroes.

Attached Files



#7 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 28/04/2006, 18:27

Olhando o teu eu dei uma adaptado e deu mais ou menos certo, pelo menos funciona o tutorial do Klaus :P

Mas e o que é aquele método de casr com ER's, parece que é usando o mod_rewrite?

Vou começar a fuçar aqui e qualquer coisa eu posto

[]'s

#8 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 28/04/2006, 21:23

Você se refere a isso:

RewriteRule index(.*)-(.*)?-(.*)?\.htm$ index.php?file=$1&action=$2&count=$3


O endereço:
indexnoticias-ler-002.htm é o mesmo que index.php?file=noticias&action=ler&count=002
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#9 thescente

thescente

    Eron Venter

  • Usuários
  • 599 posts
  • Sexo:Não informado
  • Localidade:Novo Hamburgo/RS

Posted 28/04/2006, 22:43

Tipo se eu tiver muitas URL's dinamicas vou ter que fazer
o RewriteRule pra cada link na mão?

#10 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 01/05/2006, 09:57

Você se refere a isso:


RewriteRule index(.*)-(.*)?-(.*)?\.htm$ index.php?file=$1&action=$2&count=$3


O endereço:
indexnoticias-ler-002.htm é o mesmo que index.php?file=noticias&action=ler&count=002


Isso mesmo bimonti, acabei de ler um livro sobre ER's e tô aprendendo agora direitinho.
Mas me tire outra dúvida, essas ER's vão no arquivo .htaccess. Eesse arquivo funciona em servidores Windows ou tem que mudar alguma coisa?

[]'s

#11 wmonline

wmonline

    Webmaster

  • Admin Geral
  • 238 posts
  • Sexo:Masculino

Posted 01/05/2006, 12:27

Isso mesmo bimonti, acabei de ler um livro sobre ER's e tô aprendendo agora direitinho.
Mas me tire outra dúvida, essas ER's vão no arquivo .htaccess. Eesse arquivo funciona em servidores Windows ou tem que mudar alguma coisa?

[]'s


Sim, as ER vão no .htaccess.
No meu funciona perfeitamente no Windows e no Linux. Pois quem interpreta isso é o apache, desta forma não depende de plataforma. Não há necessidade de mudar nada.

#12 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 02/05/2006, 11:56

Mas no Windows que eu digo não é no sistema operacional local e sim no servidor de hospedagem que é IIS com/no Windows 2003 Server

Interfere?

[]'s

#13 wmonline

wmonline

    Webmaster

  • Admin Geral
  • 238 posts
  • Sexo:Masculino

Posted 05/05/2006, 00:16

Sim, interfere.
O IIS não lê .htaccess, isso é coisa do Apache.

Para o windows eu não sei fazer URL amigável.

#14 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 05/05/2006, 12:10

Xiiiiiii.....

Por isso que essas parada não funcionam, em outros scripts.

E alguém sabe como fazer?
E como fazer também um esquema compatível tanto com um quanto com outro?
Tipo SE for UNIX lê arquivo .htaccess, se for Windows lê outro e etc.

[]'s

#15 Iron-Maiden

Iron-Maiden

    12 Horas

  • Usuários
  • 231 posts
  • Sexo:Não informado

Posted 05/05/2006, 19:40

Emulando VirtualHosting

Examplo mod_rewrite.ini
----------
1: Debug 0
2: Reload 1000
3: RewriteCond HTTP_HOST www.mysite1.com
4: RewriteRule ^/(.*) /site1$1
5: RewriteCond HTTP_HOST www.mysite2.com
6: RewriteRule ^/(.*) /site2$1
----------
Subdominios dinamicos
Examplo mod_rewrite.ini
----------
1: Debug 0
2: Reload 1000
3: RewriteCond HTTP_HOST (.*)\.yourdomain\.com
4: RewriteRule (.*) /default.asp?site=$C&loc=$1
---------
Poraew vai..! falow




1 user(s) are reading this topic

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

IPB Skin By Virteq