访问需求示例

需要访问如下 url
localhost/info.php
localhost/detail.php

服务端 server-root 目录结构:

➜  ~ tree public
public
├── detail.php
└── info.php

问题

我们习惯配置 nginxweb 服务为 单入口,即:

root /opt/pro/public;
index index.php index.html;

多入口 nginx 配置

利用 nginx 变量 $uri 动态配置 SCRIPT_NAME,实现 web 多入口访问

server {
    listen80;
    server_name localhost;
    index index.php;
    root /opt/pro/public;

    location ~* \.php {
            try_files $uri $uri/ /$uri?$query_string;
            set $php_script $uri;
            include         fastcgi_params;
            fastcgi_pass    unix:/tmp/php-fpm.socket;
            fastcgi_param   SCRIPT_FILENAME         $document_root/$php_script;
            fastcgi_param   SCRIPT_NAME             /$php_script;
        }
}

fevin
1.1k 声望24 粉丝