avatar Adam Michel Pro Jul 23. 2009. 2:37 am
Don't know if anyone else is even trying this, but I just worked out the right combination of juju to make nginx do pretty URLs for AC. I have the following in my nginx config file:

if (!-e $request_filename) {
    rewrite ^projects_icons/(.*)$ /public/projects_icons/$1 last;
    rewrite ^avatars/(.*)$ /public/avatars/$1 last;
    rewrite ^logos/(.*)$ /public/logos/$1 last;
    rewrite ^thumb.php$ /public/thumb.php last;
    rewrite ^captcha.php$ /public/captcha.php last;
    rewrite ^$ /public/index.php last;
    rewrite ^(.*) /public/index.php?path_info=$1 last;
}


Enjoy!
Adam Michel
Unix Systems Programmer
University of Arizona
avatar Ilija Studen Staff Jul 23. 2009. 3:05 am
Hi Adam,

Thanks for sharing - it's always great to see tips for servers that are not mainstream.

I've updated the article that explains how to set up clean URL-s to include these rules so it's easier for people to find it if they need it. Thanks again!
avatar shrift Mar 16. 2010. 12:32 pm
[edit] removed because I made a mistake that caused the above not to work... The posted rewrites should be fine as long as they are not inside a location / as mine were.
avatar belov.ss Mar 18. 2010. 4:32 am
Adam,
Add one more rule:

rewrite ^/work/(.*)$ /public/work/$1 last;
avatar bradfordcp May 10. 2010. 7:29 am
Could someone post a working nginx example? I have tried various methods to get this to work, but I seem to be getting caught in an endless redirect loop.
avatar netlash Pro May 20. 2010. 9:43 am
bradfordcp,

I just had the same problem.

activeCollab uses PATH_INFO to determine the route ($_SERVER['PATH_INFO'] or $_SERVER['ORIG_PATH_INFO'])

nginx has default no path_info. More information:
http://wiki.nginx.org/NginxHttpFcgiModule#fastcgi_split_path_info
avatar Ilija Studen Staff May 20. 2010. 11:24 am
Hello,

If you are implementing clean URL-s, than path that activeCollab router parses is passed as GET variable, not as PATH_INTO server variable. This approach works on all web servers that support rewriting.

Make sure that you have all proper values in config/config.php, as instructed in this article.