在 nginx 中复制 UserDir Apache 功能

在 nginx 中复制 UserDir Apache 功能

我是 nginx 新手,正在寻求帮助(我的 nginx 配置如下)。我试图将 nginx 放在当前使用 Apache 的 PHP 应用程序前面。

我的“/”位置工作正常。Nginx 正在提供静态文件,并代理 apache 以获取动态内容。

我现在正在尝试让“UserDir”功能正常工作。我需要http://example.com/~mmattax/使用 /home/mmattax/public_html 作为文档根目录,并将动态内容代理到 apache。我下面的尝试似乎将所有内容代理到 apache;nginx 似乎没有使用正确的文档根目录。

我也在寻找有关以下配置的任何提示。谢谢。

location ~ ^/~(.+?)(/.*)?$ {
    root /home/$1/public_html;
    index  index.php;
    autoindex on;
    try_files $uri $uri/ @proxy;
}

location / {
    root  /home/myapp/www;
    index index.php;
    try_files $uri $uri/ @proxy;
}

location @proxy {
    proxy_pass http://127.0.0.1:8080;
    proxy_redirect off;
}

location ~ \.php$ {
    proxy_pass      http://127.0.0.1:8080;
    proxy_redirect  off;
}

答案1

我在nginx 维基百科

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

相关内容