2017-08-29 6 views
0

我有一个Django项目和我的网站的静态文件均可在'web/'目录如何配置Nginx,表示“/”我的主页

这里的结构:

➜ web git:(ycw.alpha) tree -L 4 
. 
└── forward 
    ├── asserts 
    │   ├── img 
    │   │   ├── background 
    │   │   ├── qr 
    │   │   └── thumb 
    │   └── style 
    │    ├── css 
    │    └── sass 
    ├── index.html 
    ├── package.json 
    ├── script.js 
    ├── source 
    └── unit 

我已经配置的Nginx CONF,我想nginx的直接指示'web/forward/index.html'当我要求我自己的网站'http://example.com'

我做的事情上面是这样的:

location/{ 
    index index.html 
    root /path/to/my/django/project/; 
} 

location /index.html { 
    alias /path/to/my/django/project/web/forward/index.html; 
} 

它确实直接重定向到'index.html',但问题是,有在'index.html'一些静态文件,如IMG或CSS和路径的一些参考样'./asserts/style/css/index.css'相对路径,以便因此这些文件不会被发现404

我如何正确配置它?

+0

如果我没有弄错在'root'的值末尾有一个额外的'/' – fernandezcuesta

+0

你应该为所有的静态文件都有一个共同的前缀,所以你不需要相对路径,只是' /静态/路径/到/ image'。这样,你可以添加一个'/ static'路由到nginx,指向'/ project/web/forward/assets /'。在'index.html'中,只需使用'/ static/img/my_image.png'或'/ static/style/css/base.css'(前面没有'。/')。 – dirkgroten

+0

@fernandezcuesta我想这不是重点。主要是因为相对路径 – aforwardz

回答

0

问题已经由位置/'/path/to/the/index/directory',而不是Django项目的根目录改变“根”,这样你仍然可以使用静态资源的相对路径在HTML文件一般解决。