Nginx - 从用户目录提供资产

时间:2013-12-16 16:21:59

标签: nginx

我有2个问题。

我不想要求html文件的.html文件扩展名

/index => /index.html

我想从用户目录

提供服务

/~username serves from /home/username/www/

我以前使用try_files来实现(1),我是用户nginx UserDir建议:

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

以上适用于用户目录但仍需要使用.html ext。 我知道有一个已知的bug可以防止别名和try_files一起工作。

思考?对不起,如果之前已经回答,找不到合适的解决方案。

2 个答案:

答案 0 :(得分:4)

您始终可以将alias替换为root

location ~ /^/~([^/]+)(/.*)?$ {
  root /home/$1/www;
  autoindex on;
  try_files $2 $2/ $2.html;
}

PS:将index移动到服务器范围而不是位置

答案 1 :(得分:1)

它有点老了,但是最近我遇到了同样的问题,这是我的回答。感谢http://marc.info/?l=nginx&m=124533515814122&w=2我发现更好的答案是:

location ~ /^/~(.+?)(/.*)?$ {
  alias /home/$1/www$2;
  index index.html index.htm;
  autoindex on;
  try_files "" .html / =404; 
}