Nginx“未指定输入文件。”在动态文件夹子域设置中

时间:2014-08-27 17:39:27

标签: php nginx dns subdomain directory

是的,所以我有这个文件夹:/ home / sites / dev / testphp /这个文件夹里面有一个index.php文件,带有一个简单的回显线。我还有/ home / sites / dev / testhtml /和index.html文件。

当我访问http://testhtml.dev.ilun.no/时,它按预期工作。 但是当我访问http://testphp.dev.ilun.no/时,我只是得到“没有指定输入文件。”

到目前为止,这是我的配置:

server {
    listen 80;
    server_name dev.ilun.no www.dev.ilun.no;
    root /home/sites/dev;
    index index.php index.html;
}

server {
    listen 80;
    server_name ~^(.*)\.dev.ilun\.no$;
    root /home/sites/dev/$1;
    index index.php index.html;
    if (!-d /home/sites/dev/$1) {
        rewrite . http://dev.ilun.no/ redirect;
    }
    location ~ .php$ {
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
}

我完全坚持这个,但还是想不出来。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

动态root很棘手,尝试其他正则表达式:

server_name  ~^(?P<subdomain>.+)\.dev.ilun\.no$;
root /home/sites/dev/$subdomain;