简体   繁体   中英

mod_rewrite not working for clean urls

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM