Mod rewrite 另一个mod_重写问题

Mod rewrite 另一个mod_重写问题,mod-rewrite,Mod Rewrite,我已经阅读了教程,我已经阅读了这个板和其他板上的所有线程,但我仍然不明白 用户将其输入城市搜索框:内华达州拉斯维加斯 这是它生成的查询字符串:http://localhost/lcp3/carpetlist.php?city=las+维加斯%2C+nv 我想要这个:http://localhost/lcp3/carpetlist/city/las-vegas-nv 这是我放在.htaccess文件中的内容: RewriteEngine on RewriteRule ^/carpetlist/ci

我已经阅读了教程,我已经阅读了这个板和其他板上的所有线程,但我仍然不明白

用户将其输入城市搜索框:
内华达州拉斯维加斯

这是它生成的查询字符串:
http://localhost/lcp3/carpetlist.php?city=las+维加斯%2C+nv

我想要这个:
http://localhost/lcp3/carpetlist/city/las-vegas-nv

这是我放在.htaccess文件中的内容:

RewriteEngine on
RewriteRule ^/carpetlist/city/(.*)$ ./carpetlist.php?city=$1
我做错了什么?这件事我已经做了好几天了。看起来应该很简单,但事实并非如此:(


我知道有一个网站可以满足我的要求,但我不确定你是否可以发布链接。

我不确定,但我想你可以反向尝试

RewriteRule ^/carpetlist.php?city=(.*)&?$ /carpetlist/city/$1

您应该记住,
.htaccess
文件中的重写规则使用相对路径,在服务器上下文中使用时使用绝对路径。因此,请尝试删除第一个斜杠,看看是否有帮助:

RewriteRule "^carpetlist/city/(.*)$" "carpetlist.php?city=$1"

在这些棘手的情况下,使用
RewriteLog”/path/to/rewrite.log“RewriteLogLevel 3
启用mod_rewrite的调试模式总是很有帮助的,以查看实际发生的情况。