nginx 配置中的动态 URL

nginx 配置中的动态 URL

我对管理 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.htmlindex.htm

  • /var/www/foo
  • /var/www/酒吧
  • /var/www/随便看看

相关内容