Prueba con este código
Código PHP:
<?
$conn = mysql_connect("localhost","root","admin");
mysql_select_db("usuario",$conn);
$ssql = "SELECT * FROM usuarios WHERE login='".$_POST['usuario']."' and password='".$_POST['contrasena']."'";
$rs = mysql_query($ssql,$conn) or die(mysql_error());
if (mysql_num_rows($rs)!= 0){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
$_SESSION["autentificado"] = true;
header ("Location: habitaciones.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>
Si continua el error deberías postear el código de habitaciones.php. PD: no estés tan seguro que sea apache el problema mas si lo has reinstalado. Otra forma de depurar es ir agregando echo "TEST"; exit; en diferentes lineas de código para ver hasta donde llega la lectura de PHP y tratar de determinar en qué line el sistema cae.