Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
O codigo funciona no localhost mas online nao funciona.
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?pg=$1
"index.php"
<?php
$atual = (isset($_GET['pg'])) ? $_GET['pg'] : 'home';
$permissao = array('home', 'pagina1', 'pagina2', 'erro');
$pasta = 'pg';
if(substr_count($atual, '/') > 0){
$atual = explode('/', $atual);
$pagina = (file_exists("{$pasta}/".$atual[0].'.php') && in_array($atual[0], $permissao)) ? $atual[0] : 'erro';
$id = intval($atual[1]);
}else{
$pagina = (file_exists("{$pasta}/".$atual.'.php') && in_array($atual, $permissao)) ? $atual : 'erro';
$id = 0;
}
?>
<body>
<?php require("{$pasta}/{$pagina}.php") ?>
</body>
Queria saber se o problema está no codigo ou no servidor que estou usando.
simplismente ele nao faz oq deveria fazer que é trocar ?[parametro]= por / ele nao concegue encontrar os diretorios mesmo existindo e estando nas permissoes de acesso
Tente algo como isto:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^/?([0-9a-zA-Z_-]+)?$ index.php?pg=$1
E para pegar as páginas:
<?php
$caminho = "pg/";
if(@isset($_GET['pg'])) {
$arquivo = $_GET['pg'];
$pagina = $caminho . $arquivo . ".php";
if(is_file($pagina)) {
include($pagina);
} else {
include($caminho . "erro.php");
}
} else {
include($caminho . "home.php");
}
?>caro amigo nao concegui resolver =/ um exemplo http://www.avivacomunicacao.com/vinicios/ agora parece que praticamente nao existe .htaccess nenhum (online).
mas local ainda esta normal
Qual o erro obtido?