en realidad no entendi muy bien que quieres evitar...
pero si usas isset o empty?
Código PHP:
if(isset($_GET['url']){$id=$_GET["url"];
$consulta = mysql_query("SELECT * FROM tabla WHERE url='$url'");}
else {
mysql_close();
header("location: http://url.com");
}
//
if(empty($_GET['url']){mysql_close();
header("location: http://url.com");}
else {
$id=$_GET["url"];
$consulta = mysql_query("SELECT * FROM tabla WHERE url='$url'");
}