mod_rewrite不适用于干净的网址

I am using wamp server for my projects and have stuck in making the urls clean

currently my url address is like this

http://localhost/BookProjectFinal/booksdetails.php?pid=8

I want to make it like this

http://localhost/BookProjectFinal/booksdetails/8

What I am using in my .htaccess file is this

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ booksdetails.php?pid=$1
RewriteRule ^([a-zA-Z0-9]+)/$ booksdetails.php?pid=$1

But its not working its returning the whole url. What the problem with it? Thanks

The RewriteBase parameter will tell mod_rewrite from which directory to start matching. This can be used for applications that live in subfolders of apache. You may want to set it to /BookProjectFinal/ here.

Your regexp is looking to match a complete alphanumeric URL optionally followed by a slash, which I'm not sure is what you want. Try something like:

RewriteRule bookdetails/([0-9]+) bookdetails.php?pid=$1

to match only the number. Here's a test:

RewriteEngine On
RewriteRule ^bookdetails/([0-9]+) bookdetails.php?a=b&pid=$1

Matches URLs of the form /bookdetails/8. Use print_r($_GET) to sanity check in bookdetails.php