当前位置: 首页 > 知识库问答 >
问题:

nginx.conf路由配置?

谷弘致
2023-04-27

目前的配置文件和文件结构


worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       70;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
    }

}

image.png

在demo目录下有一个index.html和home.html

image.png

需要配置
访问 localhost:90/demo, 加载demo下的index.html
访问 localhost:90/demo/home, 加载demo下的home.html

应该怎么写?

我试了下在和 server 同级加了一个 server

server {
        listen       90;
        server_name  localhost;
        location /demo {
            root   demo;
            index  index.html index.htm;
        }
    }

但是没有效果, 访问是404, 不是很理解 这种写法有什么问题吗?

共有4个答案

汪才
2023-04-27
  server {
        listen       70;
        server_name  localhost;
        location / {
            root   D:/Temp/Nginx/Installer/nginx-1.23.3;
            index  index.html index.htm;
        }
    }

因为已经将目录设置在nginx所在根目录了,所以需要绝对路径了。如果将demo文件夹放到html目录下面,那么root可以设置为html

伯和蔼
2023-04-27

加一句 try_files $uri $uri/ /index.html; 试试

server {
        listen       90;
        server_name  localhost;
        location /demo {
            root   demo;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
    }
壤驷鸿
2023-04-27
  1. D:\Temp\Nginx\Installer\nginx-1.23.3\demo文件夹移到D:\Temp\Nginx\Installer\nginx-1.23.3\html文件夹下;
  2. 修改配置为(只列出了相关部分)

    server {
     listen       90;
     server_name  localhost;
    
     root  html;
    
     location / {
         index  index.html;
     }
    }
后树
2023-04-27

1.对于localhost:90/demo 这个请求,你当前的配置应该是访问到了demo/demo/这里去了;
2.对于localhost:90/demo/home 这个请求你的配置是访问到了demo/demo/home/这里去了;

显然这两个目录都不存在。

 类似资料:
  • 每个路由可以有不同的属性; 一些常见的属性是: path - 应用程序在特定路由上时在浏览器中显示的URL component - 当应用程序在特定路由上时要呈现的组件 pathMatch - 默认为’prefix’的可选属性。 确定是匹配完整的网址还是仅匹配开头。 当定义一个具有空路径字符串的路径设置pathMatch为’full’时,否则它将匹配所有路径。 children - 表示此路由的子

  • Tango支持4种形式的路由匹配规则 静态路由 tg.Get("/", new(Action)) tg.Get("/static", new(Action))匹配 URL:/ 到 Action结构体的Get函数 匹配 URL:/static 到 Action结构体的Get函数 命名路由 tg.Get("/:name", new(Action)) tg.Get("/(:name)", new(Act

  • 路由配置 路由的作用 路由配置是 CAT 集群流量负载均衡最重要的一环。路由配置提供了默认机器列表、多机房划分、地域划分等基本功能,路由选择的优先级为:同机房 > 同地域 > 默认机器 > 备用机器。 对于流量较高的机器,用户可以扩展相应的策略,通过路由配置将部分流量指定到低负载的机器。 配置入口 http:///localhost:8080/s/config?op=routerConfigUpd

  • V2Ray 内建了一个简单的路由功能,可以将入站数据按需求由不同的出站连接发出,以达到按需代理的目的。这一功能的常见用法是分流国内外流量,V2Ray 可以通过内部机制判断不同地区的流量,然后将它们发送到不同的出站代理。 RoutingObject RoutingObject 对应主配置文件中的routing项。 { "domainStrategy": "AsIs", "rules": []

  • 路由配置项位于 /lavas.config.js 的 router 对象。Lavas 内部使用 vue-router 进行路由管理,因此许多配置项都和 vue-router 是相同的。 Lavas 路由配置项包括: 路由模式,基准路由等 路由切换动画效果 重写路由(如果对自动生成的路由规则不满意) 路由模式和基准路由 router: { mode: 'history', base:

  • 配置 func InitRouter(r *gin.Engine) { r.GET("/sn", SignDemo) // v1 版本 GroupV1 := r.Group("/v1") { GroupV1.Any("/product/add", v1.AddProduct) GroupV1.Any("/member/add",