Nginx与PHP子目录/ PHP部分处理

我有一个问题,我的nginx服务器。
安装:
– Ubuntu 16.04.02
– Nginx 1.10.3

通过以下configuration我有以下结果:
– ubuntulocal / =>工程
– ubuntulocal / mail =>工作
– ubuntulocal / dir2 =>返回php源代码

我现在试了很多,但没有find原因…

server { charset utf-8; client_max_body_size 128M; listen 80; ## listen for ipv4 #listen [::]:80 default_server ipv6only=on; ## listen for ipv6 server_name ubuntulocal; set $root_path /var/www/html; root $root_path; index index.php; fastcgi_read_timeout 600; location / { root $root_path/; try_files $uri /index.php$is_args$args; } location ~ \.php$ { try_files $uri /$uri =404; fastcgi_pass unix:/run/php/php7.0-fpm.sock; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location /mail { root $root_path/mail/web; try_files $uri /mail/web/index.php$is_args$args; #redirect to the page without a trailing slash (uncomment if necessary) location = /mail/ { return 301 /mail; } location ~ ^/mail/(.+\.php)$ { try_files $uri $uri/ /mail/web/$1$is_args$args; fastcgi_pass unix:/run/php/php7.0-fpm.sock; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } location /dir2 { root $root_path/dir2/web; try_files $uri /dir2/web/index.php$is_args$args; #redirect to the page without a trailing slash (uncomment if necessary) location = /dir2/ { return 301 /dir2; } location ~ ^/dir2/(.+\.php)$ { try_files $uri $uri/ /dir2/web/$1$is_args$args; fastcgi_pass unix:/run/php/php7.0-fpm.sock; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } } 

你能帮忙吗?