Path name matching
目次
2002/12/08
Pegasus has two method for controlling request using pathname.
Path matching in rewrite
, passwd
, allow
The path name matching rule used here is very simple. Let P1 and P2 be absolute paths. We define "P1 matches P2" if P1 is deeper that P2.Fir example,
P1 P2 result /abc / OK /abc /defg NG /abc /abc/ OK /abc/ /abc OK /abc /abc/de NG /abc/de /abcwhere
OK
means "P1 matches P2".We don't apply any special characters that are used regular expression or wildcards in shell.
Path name matching in handler
The path name matching rule used in handler
is similar to that of the rule used in shell. We can use "*
","?
" and "[ ]
", the meaning is same as that of shell. Usage of "/
" is modified, the symbol is merely a character except an additional rule: "/*/
" matches "/
"Therefore
/netlib/*/index.htmldenotes in shell style expression
/netlib/index.html /netlib/*/index.html /netlib/*/*/index.html /netlib/*/*/*/index.html ...