41
我在我的服务器上有几组静态.html
文件,我想用nginx直接提供它们。例如,nginx的应该服务的URI以下图案:使用nginx提供给定目录的子目录中的静态文件
www.mysite.com/public/doc/foo/bar.html
与.html
文件位于/home/www-data/mysite/public/doc/foo/bar.html
。您可以将foo
作为集合名称,bar
作为文件名称。
我不知道下面的nginx配置的一块是否会做的工作:
server {
listen 8080;
server_name www.mysite.com mysite.com;
error_log /home/www-data/logs/nginx_www.error.log;
error_page 404 /404.html;
location /public/doc/ {
autoindex on;
alias /home/www-data/mysite/public/doc/;
}
location = /404.html {
alias /home/www-data/mysite/static/html/404.html;
}
}
换句话说,图案/public/doc/.../....html
要nginx的处理的所有请求,如果任何给定的URI是不发现,返回默认www.mysite.com/404.html
。
感谢您的提示!但是有一个问题,我需要在这里使用'^(/ public/doc /)'这样的正则表达式吗?或者'/ public/doc /'很好? – MLister
just/public/doc /在这种情况下已经足够了,实际上稍微好一点,因为它不会增加正则表达式匹配的负担(小) – cobaco