De lo primero hace tiempo se habló en este tema:
http://www.forosdelweb.com/f58/puede...ciones-727200/
De todos modos, ambas cosas puedes hacerlas en PHP. La primera comparando $_SERVER['REQUEST_URI']
http://php.net/manual/en/reserved.variables.server.php
La segunda ya depende de qué haces con la variable var, si está relacionada con algún dato en la base de datos, por ejemplo, basta con buscar si en la base de datos existe ese dato, si no existe devolver el código de error HTTP 404.