Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
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
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.
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
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:
>
http://dominio.com.br/s000/quem-somos
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.
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]
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](http://blog.thiagobelem.net/aprendendo-urls-amigaveis)
Usa um framework, recomendo o CodeIgniter ele mais simples pra quem está começando.
https://ellislab.com/codeigniter