nginx用户公共主页没有~

nginx用户公共主页没有~,nginx,Nginx,如果我想将public\u html的用户主页设置为http://mysite/user1/ 在user1 如果访问http://mysite/它将转到/usr/share/nginx/html/index.html 我将配置设置如下: server { listen 80 default_Server; # Home directories location ~ ^/(.+?)(/.*)?$ { alias /home/$1/public_html$2;

如果我想将
public\u html
的用户主页设置为
http://mysite/user1/
user1

如果访问
http://mysite/
它将转到
/usr/share/nginx/html/index.html

我将配置设置如下:

server {
    listen 80 default_Server;

    # Home directories
    location ~ ^/(.+?)(/.*)?$ {
      alias /home/$1/public_html$2;
    }
    location / {
      root /usr/share/nginx/html;
      index index.php index.html index.htm;
    }

当我访问
http://mysite/user1/
,它的工作原理与我预期的一样

但是现在
http://mysite/
变成
404
。 我不太熟悉正则表达式和规则搜索序列
如何使用户主页和根目录都工作?

在内部,URI
/
映射到URI
/index.html
,该URI也与正则表达式匹配。假设服务器上唯一的子目录是用户,可以在正则表达式中强制使用第二个
/

location ~ ^/(.+?)/(.*)?$ {
    alias /home/$1/public_html/$2;
}
或者,使
/index.html
URI显式(通过移动
root
语句并添加空的
位置
块):


更多信息请参见。

好的,我会帮助您,但我的问题是。如果您访问
http://mysite/
您想访问
/usr/share/nginx/html/index.html
然后点击
http://mysite/user1/
http://mysite/user1/
将是
/home/user1/public\u html/index.html
http://mysite/
将被删除
/usr/share/nginx/html/index.html
root /usr/share/nginx/html;
...
location = /index.html {}