Urls Amigaveis
#1
Posted 27/02/2008, 14:29
Vou explicar como estou fazendo...
tenho essa url no meu site
http://www.meusite.c...r.php?codigo=38
e quero que a url fique assim
http://www.meusite.c.../novo/sombra/38
Entao peguei meu .htaccess e escrevi nele esse código
RewriteRule sombra/(.*)/(.*)$ sombra_ver.php?codigo=$1 [L]
Mais nao esta dando certo, a url fica a mesma coisa como estava antes (http://www.meusite.c...r.php?codigo=38)
Gostaria que me ajudasse a me dizer onde esta o erro.
Obrigado desde já!
Webmaster
Agência Gigante
Criciúma - SC
#2
Posted 27/02/2008, 15:54
você já verificou se o APACHE está permitindo rewrite?
Para saber verifique a configuração no arquivo httpd.conf deve possuir as seguintes linhas
LoadModule rewrite_module modules/mod_rewrite.so AddModule mod_rewrite.c
Se já estiver assim eu aconselharia verificar a quantidade de (.*), pois você está mandando apenas 1 sendo que a URL espera por dois. Fazendo com que a URL enviada não bata com a esperada.
Abraços.
#3
Posted 27/02/2008, 16:37
RewriteRule sombra/(.*)/$ sombra_ver.php?codigo=$1 [L]
O apache esta permitindo sim o rewrite.
Obs.: O meu site nao está no diretorio raiz, está nessa pasta /novo, será que o .htaccess tem que estar no /novo tbm? Pois o .htaccess se encontra no diretório raiz do site.
Precisa fazer alguma coisa no php, ou só no .htaccess mesmo ja funciona?
Webmaster
Agência Gigante
Criciúma - SC
#4
Posted 27/02/2008, 16:43
Não, ex.:Hmm tens razao kaduzick, entao ficaria assim?
RewriteRule sombra/(.*)/$ sombra_ver.php?codigo=$1 [L]
O apache esta permitindo sim o rewrite.
Obs.: O meu site nao está no diretorio raiz, está nessa pasta /novo, será que o .htaccess tem que estar no /novo tbm? Pois o .htaccess se encontra no diretório raiz do site.
Precisa fazer alguma coisa no php, ou só no .htaccess mesmo ja funciona?
Se tenho:
/ - raiz
/novo - pasta NOVO
e tiver um .htaccess na raiz, com modrewrite, e não tiver nenhum .htaccess na NOVO desativando o MODREWRITE para a pasta novo, então o da raiz servirá para todas as pastas.
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."
Muito Obrigado à todos do fórum, e à toda equipe do fórum!
#5
Posted 27/02/2008, 16:51
Mais ainda sim naum esta funcionando
RewriteRule sombra/(.*)/$ sombra_ver.php?codigo=$1 [L]
Tem que fazer alguma coisa no no arquivo sombra_ver.php tbm?
Webmaster
Agência Gigante
Criciúma - SC
#6
Posted 27/02/2008, 17:24
Ex.:
$url=explode("/".$_SERVER['REQUEST_URI']);
se colocar
http://www.meusite.com.br/novo/sombra/38seria:
echo $url[0]; // 38
Edição feita por: lwirkk, 27/02/2008, 17:28.
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."
Muito Obrigado à todos do fórum, e à toda equipe do fórum!
#7
Posted 28/02/2008, 09:00
Tenho ese código aqui (sem url amigavel)...
<? require_once ("../admin/conecta.php"); $sql="SELECT * FROM sombra ORDER BY codigo DESC"; $query=mysql_query($sql); while($sql = mysql_fetch_array($query)){ $codigo = $sql["codigo"]; $titulo = $sql["titulo"]; $texto = $sql["texto"]; $previa = "$texto"; echo"<br /><br /> <strong>$titulo</strong><br /><br />"; echo substr_replace($previa, '...<a href=sombra_ver.php?codigo='.$codigo.' class=noticia> <br /><br /> <strong>Ver [+]</strong> </a><br /><br /><img src="../noticias/reta.jpg" /><br /><br />', 200); // MOSTRA "No wmonline nós conseguimos..." } ?>
Como eu faço para implementar isso que você disse no meu código?
Edição feita por: wawasurf, 28/02/2008, 09:01.
Webmaster
Agência Gigante
Criciúma - SC
#8
Posted 28/02/2008, 11:18
RewriteRule sombra/(.*)/(.*)$ sombra_ver.php?codigo=$2 [L]
O retrovisor usado é o segundo ... o primeiro pega "sombra" ...
E como você está usando diretório teria que colocar antes do sombra:
RewriteBase /novo/ RewriteRule sombra/(.*)/(.*)$ /novo/sombra_ver.php?codigo=$2 [L]
Teste e depois faça isso na página php:
var_dump($_GET);
Poste o resultado dessa super global ...
Yeah I do have some stories, and it's true I want all the glory ...
#9
Posted 28/02/2008, 11:29
Fiz o que você falou e me retornou isso
array(0) { }
Era o que você esperava?
Webmaster
Agência Gigante
Criciúma - SC
#11
Posted 29/02/2008, 08:09
RewriteEngine on # -FrontPage- IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti* <Limit GET POST> order deny,allow deny from all allow from all </Limit> <Limit PUT DELETE> order deny,allow deny from all </Limit> AuthName www.meusite.com.br AuthUserFile /home/meusite/public_html/_vti_pvt/serv ice.pwd AuthGroupFile /home/meusite/public_html/_vti_pvt/serv ice.grp RewriteCond %{HTTP_HOST} ^.*$ RewriteRule ^/?$ http://meusite.com.br/novo [R=301,L] RewriteCond %{HTTP_HOST} ^.*$ RewriteRule ^cadastro_de_curriculum.php$ http://meusite.com.br/novo/ca dastro_de_curriculum.php [R=301,L] RewriteBase /novo/ RewriteRule sombra/(.*)/(.*)$ /novo/sombra_ver.php?codigo=$2 [L,QSA]
Edição feita por: wawasurf, 29/02/2008, 08:10.
Webmaster
Agência Gigante
Criciúma - SC
#12
Posted 03/03/2008, 11:46
Webmaster
Agência Gigante
Criciúma - SC
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)