Page is a not externally linkable
g1smd - 11:47 am on Oct 7, 2012 (gmt 0)
Again, this code does NOT "hide the php extension". You have this exactly backwards. It maps extensionless URL requests to an internal .php file to serve the content, using an internal rewrite.
In your non-working code, what is this line for? RewriteCond %{REQUEST_FILENAME}\.php -f
It has this effect: For the request example.com/book/78456, only if there's a physical file on the server called 78456.php then rewrite the original request to fetch content from /book.php/name=78456