【发布时间】:2011-12-30 22:43:18
【问题描述】:
我有一个运行 fastcgi/PHP 的 NGINX 服务器。我需要向其中添加用户目录,但我无法让 PHP 执行文件 - 它只是询问我是否要下载它。它可以在没有 userdir 的情况下工作(例如,它适用于 physibots.info/hugs.php,但不适用于 physibots.info/~kisses/hugs.php)。
配置:
server {
listen 80;
server_name physibots.info;
access_log /home/virtual/physibots.info/logs/access.log;
root /home/virtual/physibots.info/public_html;
location ~ ^/~(.+?)(/.*)?\.php$ {
fastcgi_param SCRIPT_FILENAME /home/$1/public_html$fastcgi_script_name;
fastcgi_pass unix:/tmp/php.socket;
}
location ~ ^/~(.+?)(/.*)?$ {
alias /home/$1/public_html$2;
autoindex on;
}
location ~ \.php$ {
try_files $uri /error.html/$uri?null;
fastcgi_pass unix:/tmp/php.socket;
}
}
【问题讨论】:
-
注意:我也试过没有第一个位置块,在第二个位置块中使用“fastcgi_param”行,完全没有它,它们都是有同样的效果。