规则:
RewriteRule ^(\w)/(\w)/(\w)$ index.php/$1/$2/$3测试URI:
http://localhost/foo/bar/snafu预期结果:
http://localhost/index.php/foo/bar/snafu这条规则似乎根本不匹配。我做错什么了?
另外,有没有办法用tomcat重写阀记录重写规则命中?
发布于 2018-01-27 06:25:13
这里有几个问题。/是一个分隔符,因此如果您想要匹配URL中的正斜杠,则需要使用\/。由于语法无效,该规则将被跳过,并且该请求不会被传递到PHP。
此外,\w表示单个单词字符(A-Z、a-z、0-9或_)。因此,只有当/f/b/s是请求时,您才会匹配。您需要的是+,它匹配它前面的一个或多个内容-在本例中是\w。
试试这个:
RewriteRule ^(\w+)\/(\w+)\/(\w+)$ index.php/$1/$2/$3https://stackoverflow.com/questions/42563560
复制相似问题