nginx、php-fpm 和子文件夹

nginx、php-fpm 和子文件夹

首先深入研究 nginx。可能缺乏 googlefoo/stack 技能。这应该很容易解决,但我真的很难掌握 nginx 的配置。我还没有找到对我有意义且看起来像“最佳实践”风格的文档。

我正在尝试将网站从 apache 迁移到 nginx。该网站有一个静态 html 登陆页面,允许用户通过链接选择“子网站”。因此,他们进入并点击 index.html(工作正常),然后假设他们点击 www.example.com/hhc/ 的链接。他们不会显示我的 hhc 子文件夹中的 index.php,而是看到实际 hhc/index.php 文件的下载对话框,而不是由 php-fpm 后端处理它。但是,如果我输入完整的 URI(www.example.com/hhc/index.php),php-fpm 后端会很好地处理它。

我错过了什么?

配置:

server {
    listen 80;
    server_name_in_redirect off;
    root /var/www/html/;
    # whack trailing slashes
    rewrite ^/(.*)/$ /$1 permanent;

    location / {
        index index.html;
    }
    location /hhc {
        fastcgi_index index.php;
        try_files $uri $uri/ /hhc/index.php?q=$request_uri;
    }

    # Process all .php files using the php-fpm local port 
    location ~* \.php$ {
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
    }
}

谢谢!

答案1

尝试将 index.php 添加到 location / 块中的 index 指令中,如下所示

location / {
    index index.html /index.php;
}

相关内容