我需要 apache RewriteRule 用于以下场景
下面的 RewriteRule 有效
RewriteRule ^/test/[abc].+$ /test/ [NC,PT]
重写规则是什么,如果
/test/
之后有一个或多个字符,则必须将其重定向到 /test/
。
我试过了
^/test/.+$ /test/ [NC,PT]
但这在 4 种情况中都不匹配,并重定向到 404。
原来的请求路径“/test/c/1”会匹配“^/test/[abc].+$”,匹配成功,所以请求路径由“test/c/1”变为“/测试/”。但由于 PT 标志,导致“/test/”路由回来,就好像“/test/”是新进来的,所以“/test/”将与“^/test/[abc].+$”匹配再次,但是这次匹配失败,所以你得到了 404。
将标志从 PT 更改为 L,行为是当原始请求路径“/test/c/1”与“^/test/[abc].+$”匹配成功时,重定向路径“/path”将是最终的道路。 apache 获取与“/test/”相关的资源并响应客户端。