我在/Users/me/myproject
有文件,我想使用简单的nginx配置在http://stuff.dev/something
提供服务。在/Users/me/myproject
文件夹中类似于:
index.html
scripts/
app.js
styles/
style.css
所以我真的希望能够访问http://stuff.dev/something
,http://stuff.dev/something/scripts/app.js
等。
在我的nginx conf中我有这个:
server {
listen 80;
server_name stuff.dev;
location /something {
index index.html;
root /Users/me/myproject;
}
}
这不起作用(如果我尝试转到上面的网址,我会得到404),但是如果我尝试使用location / {
代替location /something {
完全相同的设置,它工作正常。我如何静态地提供这个文件目录,但是在路径而不是在根位置?我是否 将文件放在名为""的文件夹中?像/Users/me/myproject/something
这样的工作?如果是这样的话还有办法吗?
答案 0 :(得分:19)
我在我的VPS上尝试了这一点,并使用alias
命令为我工作:
server {
listen 80;
server_name something.nateeagle.com;
location /something {
alias /home/neagle/something;
index index.html index.htm;
}
}
答案 1 :(得分:0)
我相信你可以使用try_files指令来实现这一点,这样的事情应该有效:
server {
listen 80;
server_name stuff.dev;
location /something {
root /Users/me/myproject;
index index.html;
try_files /Users/me/myproject/$uri /Users/me/myproject/$uri/ =404
}
}
那可能要求你在 / Users / me / myproject / something 下推送文件,如果你无法逃脱,那么你就是&#39 ;我需要尝试以下类似的位置:
location ~ /something(.*) {
root /Users/me/myproject;
index index.html;
try_files /Users/me/myproject$1 /Users/me/myproject$1/ =404
}