我对管理 http 服务器还很陌生。我应该如何配置 nginx 来实现这样的行为:当有对 example.com/foo 的请求时,nginx 应该从 /var/www/foo 目录提供 index.html。当有对 example.com/bar 的请求时,nginx 应该从 /var/www/bar 目录提供 index.html。
URL 的第二部分(foo,bar)不应该在 nginx.conf 中硬编码,我需要类似变量的东西。
这是我的 nginx.conf 的一部分,我尝试在位置部分使用变量,但无法使其工作。
server {
listen 188.xxx.xxx.xxx;
#access_log logs/localhost.access.log main;
location ~/(\d+) {
root /var/www/$1;
index index.html index.htm;
}
}
答案1
您只需设置根文件夹即可使一切按预期工作。
在指令内设置此项server {...}
就足够了,无需指定子location
指令。
像这样 :
server {
listen 188.xxx.xxx.xxx:80;
server_name example.com;
root /var/www;
index index.html index.htm;
}
然后,只要确保你有index.html
或index.htm
在
- /var/www/foo
- /var/www/酒吧
- /var/www/随便看看