need help cleaning up user directory and php rules

Edho P Arief edhoprima at gmail.com
Sat Mar 14 10:18:10 MSK 2009


On Sat, Mar 14, 2009 at 2:13 PM, Edho P Arief <edhoprima at gmail.com> wrote:
> Here's how I did it (got it working properly) but wonder if I can
> clean it up a bit (especially about trailing slash and
> /~blah/file.php)
>
> the rewrites for user directory (not including php) are from this
> http://blog.sbf5.com/?p=6
>
> server {
>        listen 80;
>        server_name domain.tld;
>        root /usr/local/www/data;
>        index index.php;
>
>        location /~ {
>                if ($request_uri ~ ^/~([^/]*)(/.*[^/]|)(/*)$) {
>                        set $homedir $1;
>                        set $filedir $2;
>                        set $trailingslashes $3;
>                        rewrite ^/~([^/]*)(/|$)(.*)$ f~/$3;
>                }
>        }
>
>        location f~/ {
>                alias /home/$homedir/public_html/;
>                if (-d /home/$homedir/public_html$filedir) {
>                        rewrite ^f~/(.*) ~/$1;
>                }
>        }
>
>        location ~/ {
>                #autoindex on;
>                alias /home/$homedir/public_html/;
>                if ($trailingslashes = "") {
>                        rewrite .* /~$homedir$filedir/ redirect;
>                }
>        }
>
>        location ~ \.php$ {
>                if ($request_uri ~ ^/~([^/]*)(/.*)$) {
>                        set $newroot /home/$1/public_html;
>                        set $filedir $2;
>                }
>                if ($newroot = "") {
>                        set $newroot /usr/local/www/data;
>                        set $filedir $fastcgi_script_name;
>                }
>                if (!-f $newroot$filedir) {
>                        return 404;
>                        break;
>                }
>                fastcgi_pass 127.0.0.1:9000;
>                fastcgi_index index.php;
>                fastcgi_param SCRIPT_FILENAME $newroot$filedir;
>                include fastcgi_params;
>        }
>
>        location ~ /\.ht {
>        deny all;
>        }
> }
>
>
>

and apparently it doesn't respect index :(

-- 
O< ascii ribbon campaign - stop html mail - www.asciiribbon.org


More information about the nginx mailing list