使用样式apache2 userdir配置nginx

时间:2018-01-11 18:58:58

标签: php nginx

我需要使用样式apache2 user_dir

配置我的nginx服务器

我有以下部分的配置文件:

   location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                 fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }

  location ~ ^/~(.+?)(/.*)?$ {
             alias /home/$1/public_html$2;
            index  index.php index.html index.htm;
            autoindex on;
        }

这部分有效,我看到目录,index.html,但index.php不起作用。

哪种配置应该正确?谢谢。

1 个答案:

答案 0 :(得分:1)

要从不同的根目录运行PHP(即hashCode()),您需要使用嵌套的位置块。

例如:

select()

请注意,setValue()用作别名文件的路径。需要颠倒位置的顺序(如上所示),以便正确的位置处理以/home/$1/public_html$2结尾的URI。有关详情,请参阅this document

您应该添加适当的location ~ ^/~(.+?)(/.*)?$ { alias /home/$1/public_html$2; index index.php index.html index.htm; autoindex on; location ~ \.php$ { if (!-f $request_filename) { return 404; } include ...; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } 语句。 $request_filename文件可能合适,否则请使用.php