Para isso iremo utilizar dois arquivos, um intitulado.htaccess e outro que iremos chamas de url.php.
Primeiro o arquivo .htaccess.
Primeiro o arquivo .htaccess.
Copie o código abaixo e salve em um arquivo com o nome .htaccess.
Obs: é possível que no Windows não seja tão fácil criar esse arquivo, por isso aconselho que crie-o dentro da sua hospedagem ou utilizando o Linux.
- RewriteEngine On
- RewriteRule %{REQUEST_FILENAME} !-f
- RewriteRule %{REQUEST_FILENAME} !-d
- RewriteRule ^(.*)$ index.php?pag=$1
O que esse código faz é manipular a sua URL (para que ele funcione é necessário que a função ModRewrite esteja ativa no seu servidor). A partir de agora, as URL’s do seu site podem ser escritas de forma mais simples. Internamente o apache vai interpretar um endereço que está assim: seusite.com.br/noticia/12; como se fosse assim: seusite.com.br/index.php?pag=noticia/12;
Agora vamos criar o arquivo que vai manipular a URL, esse arquivo vai acessar a variável pag. Vamos chamar esse arquivo de url.php
- <?php
- //a variavel atual, vai receber o que estiver na variável pag
- //se não tiver nada, ela recebe o valor: principal“”
- $atual = (isset($_GET['isw'])) ? $_GET['isw'] : 'principal';
- //aqui setamos um diretório onde ficarão as páginas internas do site
- $pasta = 'paginas';
- //vamos testar se a variável pag possui alguma “/”
- //ou seja, caso a url seja: /noticia/2
- if (substr_count($atual, '/') > 0) {
- //utilizamos o explode para separar os valores depois de cada “/”
- $atual = explode('/', $atual);
- /*testamos se depois do endereço do site, o valor da página é um arquivo existente
- caso não exista, iremos atribuir o valor “erro” que será uma página de erro
- personalizada que existirá dentro da pasta '$pasta', esse arquivo será incluido sempre que um endereço invalido for digitado */
- $pagina = (file_exists("{$pasta}/" . $atual[0] . '.php')) ? $atual[0] : 'erro';
- //ao que tiver depois da segunda “/” atribuiremos a variavel $id
- $id = $atual[1];
- //ao que tiver depois da terceira “/” atribuiremos a variavel $busca
- $busca = @$atual[2];
- } else {
- $pagina = (file_exists("{$pasta}/" . $atual . '.php')) ? $atual : 'erro';
- $id = 0;
- $frame=0;
- }
- //com o uso de URL amigáveis se torna necessário que arquivos sejam chamados
- //com o seu caminho completo, isso porque as imagens levam em consideração a URL
- // ex: <img src=”<?=$siteUrl?>/pasta/arquivo.png” />
- $siteUrl = "http://seusite.com.br”;
- ?>
E agora o nosso último passo será utilizar na index do nosso site as funcionalidades do arquivo url.php.
De uma forma estrutural iremos fazer o seguinte:
De uma forma estrutural iremos fazer o seguinte:
Arvore de diretórios do nosso site:
- www/.htaccess
- www/index.php
- www/url.php
- www/paginas/principal.php
- www/paginas/{TODAS AS OUTRAS PAGINAS ITERNAS}
- www/imagens
Estrutura do arquivo index.php:
- <?php require_once('url.php') ?>
- [CABEÇALHO, MENUS E OUTROS ITENS QUE REPETEM EM TODAS AS PÁGINAS]
- <?php include $pasta.'/'.$pagina.'.php'; ?>
- [RODAPÉ, MENUS E OUTROS ITENS QUE REPETEM EM TODAS AS PÁGINAS]
0 comentários:
Postar um comentário