Trabalhando com URLs amigáveis sem o mod_rewrite
Postado por: Anderson Custódio de Oliveira emEste é meu primeiro video tutorial, não fico bom como eu esperava, cometi alguns erros, mas o importante é a pessoa entender e aprender, a prática vem com o tempo:













Tem possibilidade de ocultar (não informar) o index.php na url
ex: http://localhost/url/noticias/etc/
Cara,
E como faz para você não precisar digitar o index.php/, afinal de contas fica muito estranho um link do tipo:
minhapagina.com.br/index.php/noticia/esporte.
Como faz para excluir o index.php/ e o apache reconhecer a url ?
Achei muito banaca o video, só que fiquei com essa duvida
Opa beleza…. Respondendo as duas perguntas, essa é uma forma de fazer URL amigável sem mod_rewrite, mas um amigo me deu uma dica de outra forma que digamos é meio gambiarra, mas é legal, então o próximo vou ensinar esse modo que eliminar o index.php, sem usar o mod_rewrite, e vou fazer outra em seguida usando o mod_rewrite.
É isso ai, obrigado pelo comentário!!! =D
Bela iniciativa Pedro!
Assim que você divulgar a maneira sem o index, lanço a nova versão do PHP Coupé. Fazer com mod_rewrite nele tá osso! rs
Abraço!
@Samuel,
Na verdade o tutorial foi desenvolvido pelo Anderson Custódio. Abraços.
Tendi… Para usar sem o index, tem que usar header()?
É sem som mesmo, ou minha maquina ta bixada?
Chiquitto, é com som… só que ta bem baixo, hehe.
Galera mal pelo som, é o meu primeiro vídeo tutorial o próximo vai ser bem melhor, vou mostrar como costumo usar URLs Amigáveis, fiz primeiro assim para vocês conhecerem esse modo também, tem servidores que não tem o mod_rewrite ativado, e essa é uma das maneiras de contornar isso, mesmo que não fique muito elegante, para o SEO não faz diferença ter esse index.php, então para quem não tem o mod_rewrite vale apena usar.
Amanhã posto a nova vídeo aula do jeito que vocês estão querendo.
Tutorial interessante mas levanta uma dúvida, como faço para substituir IDs e sessões no url sem usar o mod_rewrite?
Fica gelo quanto ao som, Anderson, acontece… valeu a intenção.
Ainda sou mais a solução de evitar o uso do index.php na url. Mais por uma questão de elegância mesmo, uma vez que não importa mesmo pros indexadores; só ver os sites gerados pelo (CMS) Vignetti, como o Terra e o Globo.com, que fizeram algo parecido…
[]s!
@Mario Andrade Desculpe, não entendi bem a sua pergunta, explica de novo que próximo vídeo tutorial responto sua dúvida. =D
Gostei muito desse seu método, mas encontrei dois problemas.
1º Se eu estiver na página “http://localhost/index.php/noticias” e clicar em um link para a página principal (index.php), a URL vai ficar “http://localhost/index.php/index.php” ocasionando um erro.
2º Digamos que meu arquivo CSS esteja na pasta “css/style.css”. Se eu estiver na página “http://localhost/index.php/noticias”, meu arquivo não será encontrado, pois é como se a página tivesse subido uma pasta. Ele só seria encontrado o caminho fosse mudado para “../css/style.css”. E assim sucessivamente.
Eu ficaria muito grato se você resolvesse esses problemas.
Abraço!
@MaurícioFauth Faz como o WordPress, usa urls completas, pra facilitar cria uma constante.
define(‘SITE_URL’, ‘http://localhost/url‘);
Como você pode ver, coloquei url por que os arquivos estão dentro do diretório url, se estiver na pasta root do seu servidor não precisa. Já entendeu certo? =)
Pra usar é simples:
<style src="<?=SITE_URL?>/style.css" />
<a href="<?=SITE_URL?>">Página Inicial</a>
<a href="<?=SITE_URL?>/noticias">NtÃcias</a>
Estrou preparando um vídeo tutorial avançado, sobre URLs Amigáveis, três formas diferentes. Em breve! =)
Muito obrigado Anderson.
Me ajudou muito.
Fala Anderson.
Eu particularmente não me importo se tiver o index.php lá na URL, mas quero ver a video aula “sem o index.php”, para poder comparar o código, pois não gosto de GAMBI (hehehe).
Parabéns pela video-aula, continue assim.. e queria saber a previsão para sair a próxima.
ABRAÇOS!
@Diogo Moretti era pra ter saído faz tempo, na verdade se eu levasse jeito pra fazer vídeo aula já estaria pronto a muito tempo, mas até segunda prometo colocar. =)
Valeu Anderson…
Cara, sou fã de video-aula até sem áudio!
Uma dica para as próximas video-aulas, é você colocar seu papel de parede com o nome Pinceladas da Web e o link embaixo, e antes da video aula, você “filmar” o seu papel de parede, para assim dar créditos a você!
Super Abraço!
muito bom anderson….
cara, to fazendo um projeto aqui (um site uhauahUHuAH) e queria implementar a versao sem o index.php…. sem querer pressionar, mas quando sai a video aula?
abs
Até que é uma solução louvável… mas não é bem genérico, pois tem que rolar aqueles montes de IF’s para saber onde tá cada página e dar o include dela…
Tentei pensar em uma forma genérica com mod_rewrite para usar no meu framework e tb no caso uma forma sem o mod_rewrite, acho que a solução está no SEM…
e pra galera que teve duvida na coisa do define(’SITE_URL’, ‘http://localhost/url’);
tem uma solução melhor no próprio HTML no colocar essa tag:
isso faz o mesmo esquema que o define, só que você não irá precisar colocar em td q eh imagem, css e/ou href a constante, pode continuar seu HTML normal, usando até caminho absoluto “../../”
qual é o nome desse aplica de desenvolvimento que esta usando nessa vídeo aula?
Muito bem, estou tendo uma dúvida.
Como posso criar os links com as URL’s Amigaveis usados em a href ?
Att.
Nossa PERFEITO, obrigado pelo video.
[...] Read the original: Trabalhando com URLs amigáveis sem o mod_rewrite » Pinceladas da Web – XHTML, CSS, JavaScript e We… [...]
Tentei fazer uma url amigavel para esconder esses dados:
Ex: http://www.meusite.com.br/?pg=noticia&id=10425
queria q fosse maquiado essa parte ?pg=noticia&id=10425 para noticia104425
Alguem me ajuda?
Anderson muitos parabéns por este excelente tutorial. Vai ao fundo da questão demonstrando como fazer e como funciona, com todas as explicações necessárias. Muito obrigado!
Cara, muito boa a idéia, venho a tempo me quebrando tentando adaptar urls amigáveis em alguns sites e sistemas que criei mas estava difícil. Assim acredito que seja mais fácil encontrar a solução.
Na verdade o problema é o seguinte: Muitos deles não há como eu prever a ordem das variaveis GET pois elas são de formulários de busca que podem ter várias ou nenhuma variável.
E normalmente na url amigavel tenho que ter definido o local da variavel para poder utiliza-la…
Estou pensando em adaptar algo do tipo montando uma array associativa onde o primeiro termo é o nome da variavel e seguinte é o valor.
Se tiver alguma sugestão ou idéia eu ficaria muito grato!
como passar parametros nesse metodo por exemplo
index.php?pg=vitrine_produtos&id_cat=15&id_sub=20
Não sei!
Essa video aula faltou explicação para quem ainda é leigo no assunto mas parabens.
To ainda no inicio e tals mas acho que vou tentar implementar isso em um novo site que estou criando, pela video aula deu para pegar uma noção mas espero que saia a proxima video aula sem o ta Index.php e de uma maneira mais simples pq do jeito que ta ainda tem varios erros que precisa corrigir.
Mais uma vez parabens e desculpa pela critica.
Basta digitar o endereço puro sem o index.php, si não for isso. Faca um explicacao mas clara.
cara tem como fazer digamos cadastro um curriculo de uma pessoa em um banco de dados ai quero criar uma url que mostre este curriculo tipo o da ceviu como faço em php saberias me dizer
Na boa, utilizar HTACCESS é a melhor maneira de trabalhar com URLs amigáveis.
Primeiro, parabenizar ao produtor do vídeo.
Procurando sobre o assunto, encontrei este video.
Mesmo 3 anos depois da produção, não consegui nada para usar as URLs Amigáveis sem o mod_rewrite.
Realmente é deselegante o index.php na URL, mas, se serve de ‘consolo’ para os que, como eu, não curtiram, basta utilizar ‘?’ no lugar ndo index.php. Funciona do mesmo jeito.
A URL ficaria:
http://localhost/url/?/noticias/etc/
Esse ? substituiria o index.php. Vale conferir!
Abraços!