Jump to content


Photo

Url Amigavel


  • Faça o login para participar
12 replies to this topic

#1 anave

anave

    Normal

  • Usuários
  • 107 posts
  • Sexo:Masculino
  • Localidade:Salvador

Posted 10/05/2012, 09:37

Pessoal, ainda ñ trabalhei com url amigável, estou estou lendo algumas coisas e tentando ir bem do inicio, estou testando no wampserver que está instalado no meu PC.

Fiz o seguinte:
Entrei no httpd.conf do apache e habilitei o LoadModule rewrite_module modules/mod_rewrite.so (retirei # da frente dele ).
Depois na raiz do site criei o .htaccess, e dentro dele coloquei as seguintes linha:

<IfModule mod_rewrite.c>
     RewriteEngine On

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

Pelo que entendi, era para ter substituido o :
localhost/meusite.com.br/contato.php por
localhost/meusite.com.br/contato

Mas continua a mesma coisa. É necessário habilitar mais alguma coisa ?

#2 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 10/05/2012, 10:32

Ola vc tem que criar um arquivo .htacces salva ele na pasta raiz onde esta o arquivo contato.php

# liga o rewrite
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d


#remove a extenção
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*) $1.php

Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#3 anave

anave

    Normal

  • Usuários
  • 107 posts
  • Sexo:Masculino
  • Localidade:Salvador

Posted 10/05/2012, 10:54

Ola vc tem que criar um arquivo .htacces salva ele na pasta raiz onde esta o arquivo contato.php

# liga o rewrite
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d


#remove a extenção
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*) $1.php



Eu fiz isso, mas ñ funciona.
Agora até coloquei as mesmas linhas que vc indicou.

#4 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 10/05/2012, 10:59

eu uso este codigo aqui
http://agenciakernel.com.br/contato
Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#5 anave

anave

    Normal

  • Usuários
  • 107 posts
  • Sexo:Masculino
  • Localidade:Salvador

Posted 10/05/2012, 11:01

eu uso este codigo aqui
http://agenciakernel.com.br/contato



É exatamente assim que gostaria que ficasse.

O que será que estou fazendo de errado ?

Olha, vou sair agora, mas a tarde retornarei.

#6 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 10/05/2012, 11:04

eu esqueci de falar este codigo ai ele remove a extenção do arquivo?
Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#7 anave

anave

    Normal

  • Usuários
  • 107 posts
  • Sexo:Masculino
  • Localidade:Salvador

Posted 10/05/2012, 15:10

eu esqueci de falar este codigo ai ele remove a extenção do arquivo?


Sim

#8 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 10/05/2012, 15:29

ou seja eu acho que naum é exatamente oque vc quer


tenta ai

Options -Multiviews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^meusite\.com\.br$
RewriteRule ^(.*) http://meusite.com.br/$1 [R=301,L]
RewriteRule ^contato/$ /contato.php [L]

Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#9 anave

anave

    Normal

  • Usuários
  • 107 posts
  • Sexo:Masculino
  • Localidade:Salvador

Posted 11/05/2012, 07:56

ou seja eu acho que naum é exatamente oque vc quer


tenta ai

Options -Multiviews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^meusite\.com\.br$
RewriteRule ^(.*) http://meusite.com.br/$1 [R=301,L]
RewriteRule ^contato/$ /contato.php [L]



Vou fazer o seguinte, como estou querendo aprender sobre o assunto, acho q testa-lo em um sistema pronto, fica muito complicado, então consegui uns tutoriais e vou estuda-los hoje, vou fazer uma index e uma outra pagina, tudo simples e sem formatação, depois disso, se com todas as dicas que vc está me dando e com as informações desse tutorial eu ñ consegui, eu posto novamente ou se puder reabro esse tópico.

Muito obrigado pela sua atenção...

#10 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 11/05/2012, 08:35

Ola bom dia.... tamos ai
Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#11 anave

anave

    Normal

  • Usuários
  • 107 posts
  • Sexo:Masculino
  • Localidade:Salvador

Posted 11/05/2012, 09:47

Ola bom dia.... tamos ai



Vamos lá, vi algo sobre expressões regulares, o assunto um pouco extenso, mas entendi algo.
eu fiz uma index.php, com 3 opções de menu.
home, empresa, contato, todos na mesma pasta
no index.php fiz
<a href="home.php">Home</a>
    <a href="empresa.php">Empresa</a>
    <a href="contato.php">Contato</a>

na raiz eu coloquei o .htaccess com as seguintes 2 linhas apenas, vamos lá
RewriteEngine On -> para habilitar a reescrita
RewriteRule ^contato/?$ /contato.php [NC,L]

RewriteRule -> é a regra a ser seguida
^contato/ -> é o inicio da regra e o nome da nova url
?$ -> é o final, sendo q a ? significa uma barra opcional, nesse caso ele nem é necessário, mas vamos lá

Você poderá ver ele em www.arthnet.com.br
Assim ele também não funciona, continua :
http://arthnet.com.br/contato.php
Eu gostaria que ficasse:
http://arthnet.com.br/contato

#12 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 11/05/2012, 10:35

ola tenta mudar para este .htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^arthnet\.com\.br$
RewriteRule ^(.*) http://arthnet.com.br/$1 [R=301,L]
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
RewriteRule ^contato\.php$ /contato [R=301,L]
RewriteRule ^contato$ /contato.php [L]

ou


Options -Multiviews

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^arthnet\.com\.br$
RewriteRule ^(.*) http://arthnet.com.br/$1 [R=301,L]
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
RewriteRule ^contato\.php$ /contato [R=301,L]
RewriteRule ^contato$ /contato.php [L]

Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#13 anave

anave

    Normal

  • Usuários
  • 107 posts
  • Sexo:Masculino
  • Localidade:Salvador

Posted 11/05/2012, 13:46

ola tenta mudar para este .htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^arthnet\.com\.br$
RewriteRule ^(.*) http://arthnet.com.br/$1 [R=301,L]
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
RewriteRule ^contato\.php$ /contato [R=301,L]
RewriteRule ^contato$ /contato.php [L]

ou


Options -Multiviews

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^arthnet\.com\.br$
RewriteRule ^(.*) http://arthnet.com.br/$1 [R=301,L]
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
RewriteRule ^contato\.php$ /contato [R=301,L]
RewriteRule ^contato$ /contato.php [L]



Olha, funcionou, rsrs vlw...
Agora o vou fazer o seguinte, estudar mais sobre o assunto, para tentar passar parametros, vlw.
Se tiver algo falando sobre e puder indicar eu agradeço mais ainda..


ola tenta mudar para este .htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^arthnet\.com\.br$
RewriteRule ^(.*) http://arthnet.com.br/$1 [R=301,L]
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
RewriteRule ^contato\.php$ /contato [R=301,L]
RewriteRule ^contato$ /contato.php [L]

ou


Options -Multiviews

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^arthnet\.com\.br$
RewriteRule ^(.*) http://arthnet.com.br/$1 [R=301,L]
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
RewriteRule ^contato\.php$ /contato [R=301,L]
RewriteRule ^contato$ /contato.php [L]



Olha, funcionou, rsrs vlw...
Agora o vou fazer o seguinte, estudar mais sobre o assunto, para tentar passar parametros, vlw.
Se tiver algo falando sobre e puder indicar eu agradeço mais ainda..


Digo, vê se vc pode me ajudar.
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?pg=$1

Aí no index eu fiz um QUERY_STRING +- assim
$pasta = "nav";
$pagina = explode("/" $pagina);
$pagina_atual = (file_exists("{$pasta}/".$atual[0].'.php') && in_array($atual[0], $permissao)) ? $atual[0] : 'erro';
// caso tenha algum paramentro
$id = intval($atual[1]);

require("{pasta/pagina_atual}.php")

Bem funciona... Mas se eu passar um parametro no link, ele mostra a url assim: http://localhost/arthnet1/produtos&id=30
o link eu fiz: <a href="produtos&amp;id=30">Produtos</a>

Como faço para ñ mostrar o ou não mostrar &id=30, ou mostrar /produtos/30




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq