Ir para conteúdo
tiagocaus

URL amigável com várias páginas.

Recommended Posts

Olá,

Preciso mudar uma url dinâmica para amigável. Como nunca fiz, estou um puco perdido.

 

Qualquer orientação será muito bem vinda.

 

 

URL ATUAL

http://dominio/site/s000/pagina.php?pagina=pag_quemsomos.php

GOSTARIA

http://siteparaigreja/s000/quemsomos

Outra situação quando acessa as notícias

 

 

 

 

URL ATUAL

http://dominio/site/s000/pagina.php?pagina=pag_noticiasVer.php&id=1237

GOSTARIA

http://dominio/s000/noticiasver/1237

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

Adriano, vou aprender a fazer isso na marra... kkkk.

 

Vou fazer parte por parte.

 

 

Nessa URL

http://dominio.com.br/site/s000/pagina.php?pagina=pag_quemsomos.php

Depois do dominio tem uma pasta chamada /site/. Que configuração preciso fazer no .htaccess para não precisar mostrar a URL?

 

Ficaria assim:

http://dominio.com.br/s000/pagina.php?pagina=pag_quemsomos.php
http://dominio.com.br/s001/pagina.php?pagina=pag_quemsomos.php
http://dominio.com.br/s002/pagina.php?pagina=pag_quemsomos.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou vendo o link, mas não consegui entender como esconder a pasta /site/ da URL. Ou seja não precisar estar na url.

 

To conseguindo.... hehehehe.

 

Quem tiver a mesma dúvida veja como fazer:

RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_URI} !^site/RewriteRule ^(.*)$ site/$1 [L]

Agora vou passar para segunda parte da URL...

 

 

Uma dúvida que surgiu agora...

 

Dentro da pasta site tem os sites que são modelos diferentes que carregam o mesmo conteúdo.

 

/site/

/s000/

/s001/

/s002/

.

.

.

 

No htaccess tem como fazer consulta mysql para ver qual pasta esta ativa? Assim que consigo eliminar mais um da url.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No htaccess tem como fazer consulta mysql para ver qual pasta esta ativa? Assim que consigo eliminar mais um da url.

Isso você faz com php amigo, no seu caso especifico de "Reescrita de URL" é que o .htaccess ira fazer.

 

Se pasta não existir vai da um erro de 404, onde você pode tratar isso no htaccess

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso eu sei, mas não é essa a minha questão.

 

Estava até agora pesquisando e o ultimo parametro que parei foi o rewritemap, se eu entendi bem é possível pegar um valor tipo $modelo que esta dentro do arquivo config.php para dentro do htaccess?

 

 

Estou conseguindo fazer, com esse comando

RewriteRule ^(.*)/(.*)?$ site/$1/pagina.php?pagina=$2 [L]

a url fica assim:

 

 

Mas agora preciso fazer quando for para abrir o arquivo index.php

 

Estou fazendo assim:

RewriteRule ^inicio/(.*)?$ site/$1/index.php [L]RewriteRule ^(.*)/(.*)?$ site/$1/pagina.php?pagina=$2 [L]

Mas da Internal Server Error.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguém pode dar uma sugestão o que esta errado nesse código:

RewriteRule ^inicio/(.*)?$ site/$1/index.php [L]
RewriteRule ^(.*)/(.*)?$ site/$1/pagina.php?pagina=$2 [L]

Compartilhar este post


Link para o post
Compartilhar em outros sites

tinha o mesmo problema, mais achei a solução do meu problema.
creio que ira te ajuda.

no arquivo .htaccess você coloca
 

<IfModule mod_rewrite.c>
  RewriteEngine On

  RewriteRule ^contato/?$ /contato.php [NC,L]

</IfModule>

Onde tem^contato/ você coloca a url que deseja e onde esta /contato.php coloca a url original

espero que tenha te ajudado.

 

fonte: http://blog.thiagobelem.net/aprendendo-urls-amigaveis

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

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