Migrando Para Urls Amigáveis
#16
Posted 18/02/2006, 16:54
É o modo que utilizo na galeria de imagens do meu site. Pois não fique editando arquivo por arquivo do coppermine!
Link na assinatura!
#17
Posted 21/02/2006, 21:09
#18
Posted 22/02/2006, 08:20
t+
.:: Nutri Center Suplementos Alimentares ::.
Loja de Suplementos Alimentares pelo Menor Preço do País. Compre já Suplementos Alimentares: Whey Protein, Albumina, BCAA, Maltodextrina, Creatina, Aminoácidos, Vitaminas, Diets, Ligth, celíacos, Perca peso rapido, Nutri Center Suplementos, sua loja de Suplementos Alimentares em Anápolis - GO e na Internet. 62-3702-7789
#19
Posted 26/02/2006, 21:44
Primeiro você cria um arquivo .htaccess e coloca o conteúdo nele de acordo com os links da sua página.
Exemplo:
Para materia.php?id=125 e categoria?cat=teste
RewriteRule ^materia([0-9]*).html$ materia.php?id=$1 [L] RewriteRule ^categoria-([a-z]*).html$ categoria.php?cat=$1 [L]
Depois você adiciona em um arquivo que está incluido no topo de todas as páginas!
o conteúdo:
ob_start();//Armazena o conteúdo da página em um buffer function replace_for_mod_rewrite(&$s) { //Função para substituir links $urlin = array( "'(?<!/)materia.php\?id=([0-9]*)\"'", "'(?<!/)categoria.php\?cat=([a-z]*)\"'" ); $urlout = array( "materia\\1.html\"", "categoria-\\1.html\"" ); $s = preg_replace($urlin, $urlout, $s); return $s; }
Depois você adiciona em um arquivo que está incluido no fim de todas as páginas!
o conteúdo:
$conteudo = ob_get_contents(); //Armazena o conteúdo do buffer na variavel $conteudo ob_end_clean(); //Limpa buffer echo replace_for_mod_rewrite($conteudo); //Muda os links materia.php?id=125 para materia125.html e o mesmo com categoria.php?cat=teste para categoria-teste.html
A utilidade deste sistema é que você não precisa alterar o conteúdo das páginas e se substituir a linha
echo replace_for_mod_rewrite($conteudo);
por
echo "$conteudo";
O site volta aos links convencionais.
Portanto é mais útil para quem já possui um site com muitas páginas no ar!
#20
Posted 02/05/2006, 03:00
Vou falar só o básico mas depois coloco um tutorial. Pode ser que tenham erros, pois estou sem tempo, mas tentem seguir a lógica do sistema!
Primeiro você cria um arquivo .htaccess e coloca o conteúdo nele de acordo com os links da sua página.
Exemplo:
Para materia.php?id=125 e categoria?cat=testeRewriteRule ^materia([0-9]*).html$ materia.php?id=$1 [L] RewriteRule ^categoria-([a-z]*).html$ categoria.php?cat=$1 [L]
Depois você adiciona em um arquivo que está incluido no topo de todas as páginas!
o conteúdo:ob_start();//Armazena o conteúdo da página em um buffer function replace_for_mod_rewrite(&$s) { //Função para substituir links $urlin = array( "'(?<!/)materia.php\?id=([0-9]*)\"'", "'(?<!/)categoria.php\?cat=([a-z]*)\"'" ); $urlout = array( "materia\\1.html\"", "categoria-\\1.html\"" ); $s = preg_replace($urlin, $urlout, $s); return $s; }
Depois você adiciona em um arquivo que está incluido no fim de todas as páginas!
o conteúdo:$conteudo = ob_get_contents(); //Armazena o conteúdo do buffer na variavel $conteudo ob_end_clean(); //Limpa buffer echo replace_for_mod_rewrite($conteudo); //Muda os links materia.php?id=125 para materia125.html e o mesmo com categoria.php?cat=teste para categoria-teste.html
A utilidade deste sistema é que você não precisa alterar o conteúdo das páginas e se substituir a linha
echo replace_for_mod_rewrite($conteudo);
por
echo "$conteudo";
O site volta aos links convencionais.
Portanto é mais útil para quem já possui um site com muitas páginas no ar!
e no caso de ter uma url grande, como ficaria?
site.com/index.php?categoria=21&subcategoria_cat_add=5
obrigado!
#21
Posted 16/06/2006, 01:37
o que pode ser?
#22
Posted 16/06/2006, 09:15
Assim, eu tenho um switch megalomaníaco pendurado na index.php que, em cada case, abre um .tpl do Smarty diferente.
Nesse meu caso como que faria? A propósito, vejam o monstro que tá:
<?php //------------------ // Template //------------------ switch( @$_GET['act'] ) { case "help": $Smarty -> assign('MAIN', $MENU['MAIN']); $OUTPUT = $Smarty->fetch('help.tpl'); print "$OUTPUT"; break; case "updates": $Smarty -> assign('MAIN', $MENU['MAIN']); $OUTPUT = $Smarty->fetch('updates.tpl'); print "$OUTPUT"; break; case "report": switch( @$_GET['section'] ) { case "stats": switch( @$_GET['opt'] ) { case "advertisers": $Smarty -> assign('MAIN', $MENU['REPORT']); $OUTPUT = $Smarty->fetch('report/stats/advertisers.tpl'); print "$OUTPUT"; break; case "campaigns": $Smarty -> assign('MAIN', $MENU['REPORT']); $OUTPUT = $Smarty->fetch('report/stats/campaigns.tpl'); print "$OUTPUT"; break; case "zones": $Smarty -> assign('MAIN', $MENU['REPORT']); $OUTPUT = $Smarty->fetch('report/stats/zones.tpl'); print "$OUTPUT"; break; case "paycheck": $Smarty -> assign('MAIN', $MENU['REPORT']); $OUTPUT = $Smarty->fetch('report/stats/paycheck.tpl'); print "$OUTPUT"; break; case "history": $Smarty -> assign('MAIN', $MENU['REPORT']); $OUTPUT = $Smarty->fetch('report/stats/history.tpl'); print "$OUTPUT"; break; default: $Smarty -> assign('MAIN', $MENU['REPORT']); $OUTPUT = $Smarty->fetch('report/stats/idx.tpl'); print "$OUTPUT"; break; } break; case "export": switch( @$_GET['opt'] ) { case "advertisers": $Smarty -> assign('MAIN', $MENU['REPORT']); $OUTPUT = $Smarty->fetch('report/export/advertisers.tpl'); print "$OUTPUT"; break; case "zones": $Smarty -> assign('MAIN', $MENU['REPORT']); $OUTPUT = $Smarty->fetch('report/export/zones.tpl'); print "$OUTPUT"; break; case "paycheck": $Smarty -> assign('MAIN', $MENU['REPORT']); $OUTPUT = $Smarty->fetch('report/export/paycheck.tpl'); print "$OUTPUT"; break; case "history": $Smarty -> assign('MAIN', $MENU['REPORT']); $OUTPUT = $Smarty->fetch('report/export/history.tpl'); print "$OUTPUT"; break; default: $Smarty -> assign('MAIN', $MENU['REPORT']); $OUTPUT = $Smarty->fetch('report/export/idx.tpl'); print "$OUTPUT"; break; } break; default: $Smarty -> assign('MAIN', $MENU['REPORT']); $OUTPUT = $Smarty->fetch('report/idx.tpl'); print "$OUTPUT"; break; } break; default: $Smarty -> assign('MAIN', $MENU['REPORT']); $OUTPUT = $Smarty->fetch('report/idx.tpl'); print "$OUTPUT"; break; case "paycheck": switch( @$_GET['section'] ) { case "comissions": $Smarty -> assign('MAIN', $MENU['PAYCHECK']); $OUTPUT = $Smarty->fetch('paycheck/comissions.tpl'); print "$OUTPUT"; break; case "recurring": $Smarty -> assign('MAIN', $MENU['PAYCHECK']); $OUTPUT = $Smarty->fetch('paycheck/recurring.tpl'); print "$OUTPUT"; break; case "payments": $Smarty -> assign('MAIN', $MENU['PAYCHECK']); $OUTPUT = $Smarty->fetch('paycheck/payments.tpl'); print "$OUTPUT"; break; case "history": $Smarty -> assign('MAIN', $MENU['PAYCHECK']); $OUTPUT = $Smarty->fetch('paycheck/history.tpl'); print "$OUTPUT"; break; default: $Smarty -> assign('MAIN', $MENU['PAYCHECK']); $OUTPUT = $Smarty->fetch('paycheck/idx.tpl'); print "$OUTPUT"; break; } break; case "manager": switch( @$_GET['section'] ) { case "advertisers": switch( @$_GET['opt'] ) { case "add": $Smarty -> assign('MAIN', $MENU['MANAGER']); $OUTPUT = $Smarty->fetch('manager/advertisers/add.tpl'); print "$OUTPUT"; break; default: $Smarty -> assign('MAIN', $MENU['MANAGER']); $OUTPUT = $Smarty->fetch('manager/advertisers/idx.tpl'); print "$OUTPUT"; break; } break; case "campaigns": switch( @$_GET['opt'] ) { case "add": $Smarty -> assign('MAIN', $MENU['MANAGER']); $OUTPUT = $Smarty->fetch('manager/campaigns/add.tpl'); print "$OUTPUT"; break; default: $Smarty -> assign('MAIN', $MENU['MANAGER']); $OUTPUT = $Smarty->fetch('manager/campaigns/idx.tpl'); print "$OUTPUT"; break; } break; case "zones": switch( @$_GET['opt'] ) { case "add": $Smarty -> assign('MAIN', $MENU['MANAGER']); $OUTPUT = $Smarty->fetch('manager/zones/add.tpl'); print "$OUTPUT"; break; default: $Smarty -> assign('MAIN', $MENU['MANAGER']); $OUTPUT = $Smarty->fetch('manager/zones/idx.tpl'); print "$OUTPUT"; break; } break; case "codes": $Smarty -> assign('MAIN', $MENU['MANAGER']); $OUTPUT = $Smarty->fetch('manager/codes.tpl'); print "$OUTPUT"; break; default: $Smarty -> assign('MAIN', $MENU['MANAGER']); $OUTPUT = $Smarty->fetch('manager/idx.tpl'); print "$OUTPUT"; break; } break; case "mail": switch( @$_GET['section'] ) { case "manager": $Smarty -> assign('MAIN', $MENU['MAIL']); $OUTPUT = $Smarty->fetch('mail/manager.tpl'); print "$OUTPUT"; break; case "create": $Smarty -> assign('MAIN', $MENU['MAIL']); $OUTPUT = $Smarty->fetch('mail/create.tpl'); print "$OUTPUT"; break; case "send": $Smarty -> assign('MAIN', $MENU['MAIL']); $OUTPUT = $Smarty->fetch('mail/send.tpl'); print "$OUTPUT"; break; case "history": $Smarty -> assign('MAIN', $MENU['MAIL']); $OUTPUT = $Smarty->fetch('mail/history.tpl'); print "$OUTPUT"; break; default: $Smarty -> assign('MAIN', $MENU['MAIL']); $OUTPUT = $Smarty->fetch('mail/idx.tpl'); print "$OUTPUT"; break; } break; case "settings": switch( @$_GET['section'] ) { case "interface": $Smarty -> assign('MAIN', $MENU['SETTINGS']); $OUTPUT = $Smarty->fetch('settings/interface.tpl'); print "$OUTPUT"; break; case "profile": $Smarty -> assign('MAIN', $MENU['SETTINGS']); $OUTPUT = $Smarty->fetch('settings/profile.tpl'); print "$OUTPUT"; break; case "database": $Smarty -> assign('MAIN', $MENU['SETTINGS']); $OUTPUT = $Smarty->fetch('settings/database.tpl'); print "$OUTPUT"; break; case "delivery": $Smarty -> assign('MAIN', $MENU['SETTINGS']); $OUTPUT = $Smarty->fetch('settings/delivery.tpl'); print "$OUTPUT"; break; case "statistics": $Smarty -> assign('MAIN', $MENU['SETTINGS']); $OUTPUT = $Smarty->fetch('settings/statistics.tpl'); print "$OUTPUT"; break; default: $Smarty -> assign('MAIN', $MENU['SETTINGS']); $OUTPUT = $Smarty->fetch('settings/idx.tpl'); print "$OUTPUT"; break; } break; case "tools": switch( @$_GET['section'] ) { case "advanced": switch( @$_GET['opt'] ) { case "lookup": $Smarty -> assign('MAIN', $MENU['TOOLS']); $OUTPUT = $Smarty->fetch('tools/advanced/iplookup.tpl'); print "$OUTPUT"; break; case "geotargeting": $Smarty -> assign('MAIN', $MENU['TOOLS']); $OUTPUT = $Smarty->fetch('tools/advanced/geotargeting.tpl'); print "$OUTPUT"; break; default: $Smarty -> assign('MAIN', $MENU['TOOLS']); $OUTPUT = $Smarty->fetch('tools/advanced/idx.tpl'); print "$OUTPUT"; break; } break; case "mysql": switch( @$_GET['opt'] ) { case "analyze": $Smarty -> assign('MAIN', $MENU['TOOLS']); $OUTPUT = $Smarty->fetch('tools/mysql/analyze.tpl'); print "$OUTPUT"; break; case "query": $Smarty -> assign('MAIN', $MENU['TOOLS']); $OUTPUT = $Smarty->fetch('tools/mysql/query.tpl'); print "$OUTPUT"; break; case "backup": $Smarty -> assign('MAIN', $MENU['TOOLS']); $OUTPUT = $Smarty->fetch('tools/mysql/backup.tpl'); print "$OUTPUT"; break; default: $Smarty -> assign('MAIN', $MENU['TOOLS']); $OUTPUT = $Smarty->fetch('tools/mysql/idx.tpl'); print "$OUTPUT"; break; } break; default: $Smarty -> assign('MAIN', $MENU['TOOLS']); $OUTPUT = $Smarty->fetch('tools/idx.tpl'); print "$OUTPUT"; break; } break; default: $Smarty -> assign('MAIN', $MENU['MAIN']); $OUTPUT = $Smarty->fetch('idx.tpl'); print "$OUTPUT"; break; } ?>Sinistro né? Isso tudo me permite "quebrar" a URL em, por exemplo, act=manager§ion=advertisers&opt=add, numa página que adiciona anunciantes.
Agradeço a ajuda.
[]'s
#23
Posted 16/06/2006, 14:55
aauhahuauhauhauhuhuhauha
#24
Posted 12/08/2006, 13:52
Minha estrutura é assim. "Na pagiba index.php contem topo.php, menu.php, query.php" agora vou postar meu arquivo query.php e conto com vcs pra deixar minhas URLS mais Amigoaveis..
"query.php"
<?
$var = "estrutura/principal.php";
$pg = "estrutura/$_GET[pg].php";
if(empty($_SERVER["QUERY_STRING"])) {
include($var);
} else {
include("$pg");
}
?>
Minha URLS ficam assim
www.meusite.com.br/?pg=meu_links
Agradeço,
Alexandre Amorim
#25
Posted 01/02/2007, 03:11
Tipo para ASP puro não existe, mas para o novo ASP.Net sim a possibilidade de fazer URL amigaveis...
Segue um tutorial:
http://angeruzzi.com...avel-em-aspnet/
e isso nao tem pra asp?
aauhahuauhauhauhuhuhauha
#26
Posted 14/03/2007, 10:11
Este artigo se destina a fornecer o conhecimento necessário para implementação de uma técnica capaz de melhorar o posicionamento de seu site nas ferramentas de buscas por meio do uso de urls amigáveis aos buscadores. O objetivo não é fornecer um script pronto para ser colocado em cada site, mas sim dar uma idéia clara de como isso pode ser feito.
Vejam o exemplo de uma url comum:
www.site.com/materia.php?id=125
Por meio dessa url o webmaster pode identificar facilmente que deve exibir nesta página a matéria de número 125, mas o problema é a dificuldade que os buscadores têm para indexá-la. Digo isso por experiência própria com este fato já notório na comunidade. Uma página que depende de argumentos não é indexada facilmente e, no geral, não alcança posições tão boas quanto poderia nos resultados das buscas.
A solução é migrar deste formato para um otimizado para buscadores. Existem diversos meios de se alcançar o mesmo resultado, mas vou ensinar aqui a técnica que oferece mais controle. Seu site precisa estar em um servidor web Apache (o mais comum) para utilizá-la.
Para não fazer um artigo gigante vou apenas exemplificar o processo de migração em um site fictício de exemplo. Vamos lá!
Sabemos que é preciso passar aquele número, 125, para sabermos qual matéria exibir. Então nós vamos deixar funcional a seguinte url, em substituição àquela:
www.site.com/materia/125/peixes_africanos
Essa url se reveste de duas vantagens: não passa argumentos da forma tão repudiada pelos buscadores e pode trazer o título da página na url. Este segundo elemento é apenas um adicional benéfico, mas não imprescindível. Se uma das palavras da busca for encontrada na url, seu site ganhará muitas posições.
Agora chega de introdução e vamos ao método em sí!
Você vai encontrar no diretório principal do seu site, seja o "public_html" ou "www" (o local onde estão suas páginas) um arquivo chamado ".htaccess". É isso mesmo, ele não tem nome, apenas extensão. Se não existir, crie este arquivo. Nele você deve escrever o seguinte:RewriteEngine on RewriteRule !\.(gif|jpg|png|css)$ controle.phpSão apenas duas linhas. Se o arquivo já existir e houver alguma coisa nele, adicione estas linhas logo no início.
A primeira linha habilita o uso do "mod_rewrite" no seu site. A segunda direcionada todo o tráfego (com exceção de arquivos gif, jpg, png e css) para uma determinada página, neste exemplo, "controle.php".
Agora, se você digitar no navegador algo como:
www.site.com
www.site.com/nada
www.site.com/texto/semsentido
Tudo isso vai cair em "controle.php". Esta se tornou sua página mais importante e é ela quem vai tratar e direcionar todo o tráfego dentro do seu site, mas vamos fazer com que tudo isso aconteça apenas nos bastidores. O que faremos é usar a url digitada como se fosse uma string e extrair dela o que for útil. Veremos como escrever em "controle.php" um bom código de tratamento para podermos usar as tão almejadas urls amigáveis!
Nosso site exemplo tem matérias e notícias, e nós vamos utilizar ambos. As urls vão seguir o seguinte padrão:
www.site.com/materia/125/peixes_africanos
www.site.com/noticia/523/oceano_secou
Nós vamos aproveitar dessas urls apenas a seção (materia ou noticia) e a id (125 e 523, no caso). O resto (peixes_africanos e oceano_secou) está lá apenas para ajudar nas buscas e não será de serventia para o processo. Siga o modelo:<?php // Capturamos a url digitada $url_site = $_SERVER['REQUEST_URI']; // Convertemos em array quebrando a string nos pontos certos $urln = explode("?", $_SERVER['REQUEST_URI']); $urlt = explode("/", $urln[0]); // Para manter a compatibilidade com as urls antigas, vamos // verificar existência do arquivo solicitado propriamente dito if(is_file($urlt[1])){ include($urlt[1]); exit(); } // Ja vimos que nao e um arquivo existente, entao prosseguimos // tratando a url digitada em forma de array $url=strip_tags($_SERVER['REQUEST_URI']); $url_array = explode("/", $url); // Excluimos o primeiro elemento, que sempre será vazio array_shift($url_array); // Se a array ficou vazia, mandamos ver no index.php if(empty($url_array) or $url_array[0] == ""){ include("index.php"); exit(); } // Se restou algo nela, vamos carregar o arquivo correto. // Adaptacoes possivelmente so precisarao ser feitas nesta // parte do código else { // Materia if ($url_array[0] == "materia") { // capturamos a id passada na url $id = $url_array[1]; // carregamos o arquivo real include("materia.php"); } // Noticia elseif ($url_array[0] == "noticia") { // capturamos a id passada na url $id = $url_array[1]; // carregamos o arquivo real include("noticia.php"); } // Se nao for nenhuma das opcoes acima, carregamos a index mesmo else { include("index.php"); } exit(); } ?>
Tá bom, o código está comentado mas merece alguma explicação. Apenas para ressaltar, se alguém estiver voando na leitura, isso é o que vai em "controle.php".
No início do código nós verificamos se existia o arquivo procurado na url, e neste caso carregamos ele. Isso para manter a compatibilidade com as urls que você já possui indexadas nos buscadores.
Passada esta fase, quebramos a url pelas barras ("/") existente e criamos um array que se parece com o seguinte:
www.site.com/materia/125/peixes_africanos
$url_array[0] = "materia"
$url_array[1] = "125"
$url_array[2] = "peixes_africanos"
Entretanto, só nos interessaram os dois primeiros elementos. Com eles carregamos o arquivo apropriado com base na leitura da url, no exemplo, "materia.php" ou "noticia.php", ambos existentes em nosso site fictício. No que se refere ao argumento, ou seja, a "id" da matéria ou notícia que vamos apresentar, perceba que colocamos esse dado na variável "$id". Bastará fazer a leitura dela onde for necessário.
Agora vamos saber o que muda no arquivo real que chamamos a partir do controle, ou seja "materia.php", "noticia.php" ou qualquer outro:
1) Perceba que você pode utilizar "$_GET['id']" apenas para manter a compatibilidade, porque se for uma requisição pela nova url, nós vamos pegar esse dado da variável chamada "$id". Então você vai verificar se existe algo em "$_GET['id']" e se não houver, fará o mesmo com a variável "$id", pois o argumento estará em um dos dois.
2) A segunda e última mudança diz respeito ao formato dos links para arquivos ou exibição de imagens. Nossas novas urls utilizam algumas barras, e isso indica mudança de diretório. Logo, precisamos voltar sempre à rais com uma "/" antes dos links. Observe os exemplos:
De: <a href="index.php">
Para: <a href="/index.php">
De: <img src="imagens/seta.gif">
Para: <img src="/imagens/seta.gif">
O método em sí está pronto! A intenção deste artigo não é fornecer um script milagroso que possa ser copiado e colado em qualquer site, pois isso seria utopia. O que forneço aqui é o conhecimento necessário para que cada faça a implementação da melhor forma.
Para conseguir esta última parte da url, por exemplo, basta fazer um tratamento da string trocando espaços por "_" e substituindo também a acentuação e os caracteres especiais.
www.site.com/noticia/523/oceano_secou
Use a criatividade. Você pode também criar urls assim:
www.site.com/noticia/523/oceano_secou.html
www.site.com/noticia/523/oceano_secou/oceano_secou.html
Isso porque as ferramentas de busca atribuem um peso diferente para as palavras encontradas na url em diretórios ou arquivos, e essa parte da url não será útil para o script mesmo.
Você deve trocar todos os links do seu site pelo novo formato para que surta efeito, e se quiser manter algum diretório sem o controle de url basta desativar o mod_rewrite criando nele um arquivo ".htaccess" com o seguinte conteúdo:RewriteEngine off
Em caso de dúvidas ou dicas de melhorias sintam-se livres para postar neste tópico, o qual será aperfeiçoado ao longo do tempo com o surgimento de vantagens a serem acrescentadas no texto.
Flw!
Muito bom o tópico.
Breve vou ver se consigo bolar algo pro meu site em ASP baseando nesta lógica.
Mas tenho uma dúvida: - Qual seria melhor pra utilizar como "separador" em termos de indexação? underline ou traço?
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!
#27
Posted 14/03/2007, 12:16
.......
Mas tenho uma dúvida: - Qual seria melhor pra utilizar como "separador" em termos de indexação? underline ou traço?
Da um ligo nesse tópico
http://forum.wmonlin...howtopic=148058
#28
Posted 10/05/2007, 17:24
Eu vou utilizar um campo digitado pelos os usuários (título) para fazer a url amigavel...
Alguém tem ou sabe onde tem um script PHP bom para filtrar esse campo?
Retirar espaços e converter em outros caracteres, retirar caracteres especiais... etc.
Valeu!
E esse tópico foi muito útil mesmo!
Edição feita por: flycker, 10/05/2007, 17:26.
#29
Posted 01/06/2007, 16:20
Alguém sabe alguma forma de amenizar isso ou substituir por outra coisa que diminua menos a performance?
Como Instalar - Blog com tutoriais e guias para instalação de softwares, confira!!
#30
Posted 06/12/2007, 23:50
eu tenho uma área de tutoriais.. e estou usando na seguinte forma os links..
/article/como-melhorar-a-taxa-de-upload-de-sua-conex%E3o-banda-larga-38-1.html
onde /article/ significa que é tutorial e vai usar o arquivo articles.php
como-melhorar-a-taxa-de-upload-de-sua-conex%E3o-banda-larga é nome do tutorial
38 é a id do tutorial
e 1 é a página do tutorial..
como poderei criar o modrewrite para ele interpretar isso?
no caso, esse link deve redirecionar corretamente para:
articles.php?art_id=38&start=1
se deu pra entender o nome do tutorial já está ok.. mas quero que o modrewrite ignore-o e só interprete: article que irá redirecionar para articles.php
o segundo no caso a id do tutorial que redirecionará para art_id=$id
e o terceiro a página no caso colocando no mesmo link: &start=$pagina
alguém pode me dar uma mão nisso? tentei aqui, já li o tutorial todo mas não consegui fazer =/
[edit]
Consegui aqui.. fui tentando de várias maneiras e consegui exatamente oq eu queria
muito obrigado a quem ao menos pensou em me ajudar
Edição feita por: dilneiss, 07/12/2007, 22:41.
define("MELHOR_FORUM_DO_MUNDO", "Webmasters Online");
echo MELHOR_FORUM_DO_MUNDO;
?>
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)