Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Felipe Quirino

Url amigaveis

Recommended Posts

Olá galera do imasters, gostaria de saber como eu posso fazer com que as minhas urls fiquem assim "meusite.com.br/contato", ouvi falar que eu teria que fazer o tal das urls amigaveis, procurei a respeito achei um que falava que você teria que add umas linha de codigos no ".htaccess" do meu site:

RewriteEngine On
RewriteRule ^noticias\/?([0-9]+)\/([0-9]+)\/([0-9]+)\/?$ /noticias/$1-$2-$3

so que quando eu coloco essas linha ele me gera esse erro:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

 

Eu não sei se e pq ele ta em localhost, se alguem poder me explicar pq esta acontecendo isso, poste ai ficarei grato.... vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você já habilitou o mod_rewrite?

Sim eu ativei... agora eu não sei se esta correto..

 

mod_rewrite on
RewriteEngine On
RewriteRule ^(.+)\/?([0-9]*)\/?$ /index.php?s=$1&p=$2

 

ok, diga tb o q você ker fazer exatamente, podemos dar uma alternativa...

 

Eu quero que na minha url não tenha o ".php" eu quero que fique assim "meusite.com/contato" "ow "meusite.com/home" ao em vez de "Meusite.com/contato.php"...

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, agora esta correto, continua com o mesmo problema?

sim ainda continua com o msm problema:

 

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

 

Será que não e por causa do localhost, ow do php.ini?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mod_rewrite on
RewriteEngine On
RewriteRule ^(.+)\/?([0-9]*)\/?$ /index.php?s=$1&p=$2

 

ok, nao eh no htaccess q você ativa o mod rewrite, você tem q ir no httpd.conf do aache e descomentar a linha dele, retirar o # do inici da linha...e reinicia o apache...

Compartilhar este post


Link para o post
Compartilhar em outros sites

mod_rewrite on
RewriteEngine On
RewriteRule ^(.+)\/?([0-9]*)\/?$ /index.php?s=$1&p=$2

 

ok, nao eh no htaccess q você ativa o mod rewrite, você tem q ir no httpd.conf do aache e descomentar a linha dele, retirar o # do inici da linha...e reinicia o apache...

 

fiz exatamente o que você recomendou, retirei o # da primeira linha do httpd.conf do apache, e reiniciei, mais não deu certo continua com o msm problema, ai eu tentei de duas maneiras:

 

1º retirei o # da primeira linha do httpd.conf do apache, e também retirei o "mod_rewrite on" do meu .htacces .

2º retirei o # da primeira linha do httpd.conf do apache, e nao retirei o "mod_rewrite on".

 

porem continua a msm coisa....

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz exatamente o que você recomendou, retirei o # da primeira linha do httpd.conf do apache, e reiniciei, mais não deu certo continua com o msm problema, ai eu tentei de duas maneiras:

 

1º retirei o # da primeira linha do httpd.conf do apache, e também retirei o "mod_rewrite on" do meu .htacces .

2º retirei o # da primeira linha do httpd.conf do apache, e nao retirei o "mod_rewrite on".

 

porem continua a msm coisa....

eu nao disse pra tirar da PRIMEIRA LINHA, eu disse pra tirar do modulo rewrite, por favor leia direito, ok? assim fara as coisas certas

eu disse pra tirar do modulo rewrite, logo mod rewrite

 

deve estar assim

 

#loadModule mod/mod_rewrite.so

 

ae você retira o # DESTA LINHA EM ESPECIFICO

 

e retira do htaccess o mo_rewrite on, pq nao faz parte estar ali, leia a documentacao do apache...isto tb eh necessario...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tbm não consigo fazer funcionar url amigáveis no localhost.

meu htacces

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+)\/?([0-9]*)\/?$ /index.php?s=$1&p=$2

 

trecho do httpd.conf

#LoadModule reqtimeout_module modules/mod_reqtimeout.so

LoadModule rewrite_module modules/mod_rewrite.so

LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule speling_module modules/mod_speling.so

 

da erro 404

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, vamos ajudar a resolver esse problema ^^

Acredito que assim como eu, outras pessoas tem a mesma dificuldade em ativar as URL amigáveis no localhost.

Logicamente testei as opções anteriores, porém sem sucesso. Estou mantendo a proposta inicial, retirar a extensão .php do arquivo no localhost. Pra mim o erro mostrado é o 404(página não encontrada), o que indica que a reecrita não está funcionando.

 

A linha que carrega o módulo de reescrita no php.ini está habilitado.

O arquivo .HTACCES está na raiz com o seguinte código:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+)\/?([0-9]*)\/?$ index.php?s=$1&p=$2

 

Conto com a ajuda de vocês.

 

pessoal, help here!!

ninguém ai que consegue fazer o arquivo .htaccess rodar corretamente no localhost?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

aki

 

RewriteCond %{REQUEST_FILENAME}\.php -f

 

então, como falei tirei o .php dai

ficou assim:

 

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)\/?([0-9]*)\/?$ principal.php?s=$1&p=$2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como é a URL original?

Se for exibir algum arquivo na index fassa o seguinte:

Onde quer exibir as paginas que serão "incluidas no layout"

Coloque isto:

 

<?php include("./".$_GET["act"].".php");?>

Irá pegar o nome do arquivo.php do Get.

Então uma URL que seria: seusite.com.br/index.php?act=arquivo

se tornará: seusite.com.br/arquivo

 

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^((?:[a-z][a-z0-9]*))$ index.php?act=$1

Código do .htacess

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu só quero tirar a extensão .php. Nesse caso não passo nenhum parâmenteo pela url. A URL original é assim:

www.meusite.com.br/index.php. Como deveria ficar www.meusite.com.br/indexeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

RewriteEngine On  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteRule ^([a-z]+)$ $1.php [L]

 

apenas isso e já resolve a questão.

leitura:

http://wbruno.com.br/blog/2011/10/06/mostrar-html-na-url-mas-servir-paginas-php/

Compartilhar este post


Link para o post
Compartilhar em outros sites

não resolveu :(

coloquei o arquivo na raiz e dentro da própria pasta, chequei o httpd.conf e a linha //LoadModule rewrite_module modules/mod_rewrite.so está descomentada. Reiniciei o apache, tentei acessar pelo localhost/teste e localhost/pasta/teste, o erro 404 persiste.

 

Esqueci alguma coisa?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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