]> git.plutz.net Git - shellwiki/blob - handlers/20_redirect.sh
Merge commit 'be3b0b1f0ea6b499b79122bcf159b5a2d7d92228'
[shellwiki] / handlers / 20_redirect.sh
1 #!/bin/sh
2
3 case $PATH_INFO in
4   *"/["*"]")
5     return 1;
6     ;;
7 esac
8
9 if acl_read ${PATH_INFO}; then
10   mdfile="$(mdfile "${PATH_INFO%/*}")"
11 else
12   return 1
13 fi
14
15 if [ "$mdfile" ]; then
16   REDIRECT="$(
17     sed -nE '
18       s;^%redirect[ \t]+([[:graph:]][[:print:]]+)\r?$;\1;p; tQ;
19       b; :Q q;
20     ' "$mdfile"
21   )"
22 else
23   return 1
24 fi
25
26 if [ "$REDIRECT" ]; then
27   REDIRECT "$REDIRECT"
28 fi
29
30 return 1