Mas se você quis dizer a maneira que fiz o query, talvez eu esteja entendendo o que está acontecendo. Acho que então eu teria que mudar a maneira como eu o fiz.
De qualquer forma, esse é o query string que uso no site todo. Peguei o exemplo aqui mesmo nesse fórum, eu acho, e fui modificando.
<?php
@$pg = $_GET['pg'];
@$titulo = $_GET['titulo'];
@$ano = $_GET['ano'];
@$tipo = $_GET['tipo'];
@$modo = $_GET['modo'];;
@$show = $_GET['show'];
@$setlist = $_GET['setlist'];
@$foto = $_GET['foto'];
@$texto = $_GET['texto'];
@$audio = $_GET['audio'];
@$video = $_GET['video'];
?>
<?php
if ($pg == "" && !$titulo && !$ano && !$tipo && !$modo) {
$pagina = "news.php";
}
elseif ($pg == "$pg" && !$titulo && !$ano && !$tipo && !$modo) {
$pagina = "$pg.php";
}
elseif ($pg == "$pg" && $titulo == "$titulo" && !$ano && !$tipo && !$modo) {
$pagina = "new/$titulo.php";
}
elseif ($pg == "$pg" && $ano == "$ano" && !$titulo && !$tipo && !$modo) {
$pagina = "sh/$ano.php";
}
elseif ($pg == "$pg" && $tipo == "$tipo" && !$titulo && !$ano && !$modo) {
$pagina = "med/$tipo.php";
}
elseif ($pg == "$pg" && $modo == "$modo" && !$titulo && !$ano && !$tipo) {
$pagina = "rep/$modo.php";
}
elseif ($pg == "$pg" && $ano == "$ano" && $show = "$show" && !$setlist && !$texto && !$foto && !$audio && !$video) {
$pagina = "$pg.php";
}
elseif ($pg == "$pg" && $ano == "$ano" && $setlist == "$setlist" && !$show && !$texto && !$foto && !$audio && !$video) {
$pagina = "$pg.php";
}
elseif ($pg == "$pg" && $ano == "$ano" && $texto == "$texto" && !$show && !$setlist && !$foto && !$audio && !$video) {
$pagina = "$pg.php";
}
elseif ($pg == "$pg" && $ano == "$ano" && $foto == "$foto" && !$show && !$setlist && !$texto && !$audio && !$video) {
$pagina = "$pg.php";
}
elseif ($pg == "$pg" && $ano == "$ano" && $audio == "$audio" && !$show && !$setlist && !$texto && !$foto && !$video) {
$pagina = "$pg.php";
}
elseif ($pg == "$pg" && $ano == "$ano" && $video == "$video" && !$show && !$setlist && !$texto && !$foto && !$audio) {
$pagina = "$pg.php";
}
?>
E o script do index é esse:
<?php
if( (isset($pagina)) and (file_exists($pagina)) ) {
include($pagina);
} else {
echo ("<script type=\"text/javascript\">
window.location.replace('http://www.site.com.br/erro.htm');
</script>");
}
?>
Com ele consigo urls como:
index.php?pg=media
index.php?pg=news&titulo=$titulo
index.php?pg=shows&ano=$ano&show=$show ou index.php?pg=shows&ano=$ano&foto=$foto,
As páginas que o $pg pega são exatamente aquelas, news.php, shows.php, etc. A razão por que ele está pegando os phps será que pode ser o fato de eu dizer nas condições que é para ele pegar $pg.php?