0

我正在为我的项目使用 wamp 服务器,并且一直坚持使 url 干净

目前我的url地址是这样的

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

我想变成这样

http://localhost/BookProjectFinal/booksdetails/8

我在 .htaccess 文件中使用的是这个

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

但它无法返回整个网址。它有什么问题?谢谢

4

1 回答 1

1

RewriteBase 参数将告诉 mod_rewrite 从哪个目录开始匹配。这可用于位于 apache 子文件夹中的应用程序。您可能希望在此处将其设置为 /BookProjectFinal/。

您的正则表达式正在寻找匹配一个完整的字母数字 URL,可选地后跟一个斜杠,我不确定这是您想要的。尝试类似:

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

只匹配数字。这是一个测试:

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

匹配 /bookdetails/8 形式的 URL。使用 print_r($_GET) 在 bookdetails.php 中进行完整性检查

于 2013-10-02T09:12:09.657 回答