You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modules-dev@httpd.apache.org by Vasiliy Baranov <Va...@Sun.COM> on 2008/08/14 20:41:51 UTC

request_rec.filename alteration

Hi,

I am trying to write a module that internally translates 
"/foo/bar/XXX/..." in document paths to "/foo/bar/YYY/...", where 
"/foo/bar" is a constant and YYY is a function of "/foo/bar" contents on 
disk _and_ authenticated user name. Since the translate_name phase 
precedes check_user_id (authentication) phase, doing my translation in a 
translate_name hook is out of question. On the other hand, when I am in 
a fixups hook, I am able to alter request_rec.filename as needed, but 
then someone, most likely core.c line 3631 (httpd 2.2.9), notices that 
the original document (in "/foo/bar/XXX/...") does not exist, and issues 
FILE_NOT_FOUND. What would be the right way to approach this? Doing this 
stuff at the end of authentication phase? Internal redirects? I think I 
can do an internal redirect from a fixups hook, however, it seems 
somewhat difficult to construct a correct URI for passing to 
ap_inernal_redirect() there - in my case "/foo/bar/XXX/..." itself may 
be a result of one of many Aliases.

Thank you,
Vasiliy