繁体   English   中英

mod_rewrite无法使用干净的网址

[英]mod_rewrite not working for clean urls

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

目前我的网址是这样的

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

但是它不起作用返回整个URL。 有什么问题吗? 谢谢

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中进行完整性检查

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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