Tomcat重写阀问题

Tomcat重写阀问题,tomcat,url-rewriting,tomcat8,Tomcat,Url Rewriting,Tomcat8,规则: 测试URI: RewriteRule ^(\w)/(\w)/(\w)$ index.php/$1/$2/$3 预期结果: http://localhost/foo/bar/snafu 这条规则似乎根本不匹配。我做错了什么 另一个相关的注意事项是,有没有办法用tomcat重写阀记录重写规则的点击?这里有几个问题/是一个分隔符,因此如果要匹配URL中的正斜杠,则需要使用\/。由于语法无效,将跳过该规则,并且该请求不会传递给PHP 另外,\w表示单个单词字符(a-Z、a-Z、0-9或Z)。

规则:

测试URI:

RewriteRule ^(\w)/(\w)/(\w)$ index.php/$1/$2/$3
预期结果:

http://localhost/foo/bar/snafu
这条规则似乎根本不匹配。我做错了什么


另一个相关的注意事项是,有没有办法用tomcat重写阀记录重写规则的点击?

这里有几个问题
/
是一个分隔符,因此如果要匹配URL中的正斜杠,则需要使用
\/
。由于语法无效,将跳过该规则,并且该请求不会传递给PHP

另外,
\w
表示单个单词字符(a-Z、a-Z、0-9或Z)。因此,只有当请求是
/f/b/s
时,您才会匹配。您需要的是
+
,它与前面的一个或多个匹配-在本例中是
\w

试试这个:

http://localhost/index.php/foo/bar/snafu
RewriteRule ^(\w+)\/(\w+)\/(\w+)$ index.php/$1/$2/$3