Ir para conteúdo

POWERED BY:

Arquivado

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

~TiuTalk~

Gerador de htaccess

Recommended Posts

Olá gente!

 

Estava aqui estudando sobre URL amigáveis e resolvi criar um script em PHP para 'gerar' o conteúdo do HTACCESS pra ser usado em qualquer site rodando no Apache! :D

 

Agradecimentos ao Perfect Lion por este tutorial... ^^

 

Vamos ao script:

 

1. Faça o download: http://thiagobelem.net/arquivos/htaccess.rar

2. Descompacte os arquivos em alguma pasta do seu computador

3. Faça upload apenas dos arquivos (não a pasta) pra o seu site (são 3 arquivos: um css, um php e um gif)

4. Acesse o arquivo ht_index.php pelo browser (por exemplo: http://www.seusite.com.br/ht_index.php)

 

Você verá, após acessar alguns arquivos, vários testes de imagens e links, ignore-os por enquanto... Veja mais abaixo o provável conteúdo do seu .htaccess, copie-o para o bloco de notas, salve como .htaccess (sim, não tem nome, é só uma extensão grande) e faça upload deste arquivo para o mesmo local onde está o ht_index.php...

 

Abra novamente o ht_index.php e agora veja se as imagens aparecem corretamente e se, clicando nos links, nada de errado acontece... Se tudo correr bem, preste atenção na 'Depuração da variavel $get', com esses valores você endenterá como desenvolver o seu sistema de URLs amigáveis!

 

Tá, e o que esse seu script faz?

Ele ajuda a identificar caso o seu site esteja dentro de uma 'pasta', por exemplo, se estiver desenvolvendo localmente e seu site atual estiver dentro de http://127.0.0.1/sites/clientes/fulano/ ele vai identificar isso e o htaccess vai ficar de acordo =)

 

Isso significa que posso usar o htaccess gerado por esse script pra desenvolver e testar localmente?

Sim! =)

 

Ps.: Caso encontrem algum problema, postem-o aqui... ou se preferirem, acessem o link para o tutorial no início deste tópico que lá também tem algumas explicações boas sobre os htaccess.. ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa cara... muito ninja !^^

gerou certinho... mas não entendi porque o include não é feito.

Tentei com o meu scritp habitual, e com o do tutorial, mas a página é mostrada... normal, sem fazer include...

 

Com o script do tuto:

<?php
		#:: URL amigaveis
		$gets = explode("/",str_replace(strrchr($_SERVER["REQUEST_URI"], "?"), "", $_SERVER["REQUEST_URI"]));
		#:: Elimita o 1° tem da array que no nosso caso é sempre vazio
		array_shift($gets);
		
		if(file_exists("./" . $get[0] . ".html")){
			require ("./" . $get[0] . ".html");
		}
		else{
			echo "você ESTÁ NA HOME";
		}
		?>
a URL fica: www.site.com.br/instalacoes

ai abre a instalacoes.html somente, sem fazer o include.

E com o meu, acontece o mesmo:

<?php
	if($pg[0]=='')
		include ('home.html');
	elseif(file_exists($pg[0].'.html'))
		include ($pg[0].'.html');
	elseif(file_exists($pg[0].'.php'))
		include ($pg[0].'.php');
	else 
		include ('home.html');
	
	?>
Coloquei o caminho completo nos links:

<li class="instalacoes"><a href="http://www.site.com.br/instalacoes">Instalações</a></li>
			<li class="missaoVisao"><a href="http://www.site.com.br/missaoVisao">Missão e Visão</a></li>
Então, ficou assim o htaccess:

# == Início das URLs Amigaveis

RewriteEngine On
RewriteBase /oncocenter/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .(/)?$ index.php

# == Fim das URLs Amigaveis

# == Outras configurações de segurança

Options -Indexes
<Files ~ "^\.ht">
	Order allow,deny
	Deny from all
</Files>
^^ Já tentei algumas vezes, mas sempre dá isso... legal que o teu gerador, fez um que eu nunca havia tentado... mas em todos os que tentei, o arquivo aparece, mas a include não é feita. Oque eu errei?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Interessante cara!

Mas se fosse pra ficar realmente bonito,tu dava um rewrite que já jogava pro php só pegar por GET,o que evita um #@?$%~ processamento (explodes,mecher com arrays) (vi o que o bruno falo).

Abraço!

 

Bruno...te mando as noções por msn

 

Edit:

Algo como:

RewriteEngine On
RewriteRule ^index\.php\/([a-zA-Z0-9]+)$ index.php?pag=$1

Ai é só pegar o pag por GET normalmente e incluir.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xiiiii, o meu deu o erro 500.

 

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.

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.