首页 新闻 会员 周边 捐助

nginx中url带参数问题

0
悬赏园豆:5 [已解决问题] 解决于 2019-12-26 09:39

我在liunx上部署了一个程序,但是访问http://xxx/article/detail?id=12&t=编程世界的时候因为url的问题一直404,看了好多nginx的配置url的都没解决,有没有哪里比较完整的教程可以看看?

灬丶的主页 灬丶 | 初学一级 | 园豆:9
提问于:2019-12-24 15:32

请贴上nginx配置

xiaobaiskill 4年前

@xiaobaiskill:我现在可以这样访问http://xxx/article/detail/12后浏览器的url栏就变成了http://xxx/article/detail.html?id=12,但是我不想这样子,我想直接http://xxx/article/detail.html?id=12就可以访问

灬丶 4年前
< >
分享
最佳答案
0

你的 location 只匹配了 /article/detail/ 的请求地址. /article/detail.html 是没有匹配到的,因为不符合 /article/detail/
然后 location /article/detail/ {} 里面会把 匹配到的重定向到http://127.0.0.1/article/detail.html?id=$id ,

收获园豆:5
xiaobaiskill | 小虾三级 |园豆:1122 | 2019-12-25 15:37

那我laocation是要写成 /article/detail.html/,这样吗

灬丶 | 园豆:9 (初学一级) | 2019-12-25 15:39

@灬丶: 你这写的感觉 很啰嗦. 感觉没必要那么复杂.

location / {
  rewrite ^/(.*).html /$1 break;
}

// 意思就是 将/article/detail.html  => /article/detail
// /aaa/bbb.html => /aaa/bbb
xiaobaiskill | 园豆:1122 (小虾三级) | 2019-12-25 15:50

@灬丶: nginx localtion

xiaobaiskill | 园豆:1122 (小虾三级) | 2019-12-25 15:52

@xiaobaiskill: 不是很理解你写的,rewrite之后不是相当于从新访问了/aaa/bbb,但实际上我的服务目录下没有/aaa/bbb这个路径,只有aaa/bbb.html,还是我的对nginx理解错了

灬丶 | 园豆:9 (初学一级) | 2019-12-25 15:56

@灬丶: 你告诉我 在没有使用nginx时,能够正常访问的路由, 和你现在想要将路由改变成什么样子的

xiaobaiskill | 园豆:1122 (小虾三级) | 2019-12-25 16:01

@xiaobaiskill: 我只是想访问 “http://58.87.92.221/article/detail?id=12&t=编程世界”这个目录,但是据我所知nginx会把“detail?id=12&t=编程世界”当成页面地址,所以就无法访问到,404了,所以就自己模仿别人写了一个nginx的url匹配规则,这个是我自己写的一个前后端分离的项目

灬丶 | 园豆:9 (初学一级) | 2019-12-25 16:05

@灬丶: ???

xiaobaiskill | 园豆:1122 (小虾三级) | 2019-12-25 16:10

@xiaobaiskill: 访问不了不是要写匹配规则吗?

灬丶 | 园豆:9 (初学一级) | 2019-12-25 16:11

@灬丶: 你的先能访问,再写你想要的规则呀. 不能访问,你写好规则又怎么知道行不行呢?

xiaobaiskill | 园豆:1122 (小虾三级) | 2019-12-25 18:59

@xiaobaiskill: ok.谢了大佬

灬丶 | 园豆:9 (初学一级) | 2019-12-26 09:07
其他回答(1)
0

有可能是Nginx的Config写错啦

ChnMig | 园豆:421 (菜鸟二级) | 2019-12-25 14:30

我现在可以这样访问http://xxx/article/detail/12后浏览器的url栏就变成了http://xxx/article/detail.html?id=12,但是我不想这样子,我想直接http://xxx/article/detail.html?id=12就可以访问

支持(0) 反对(0) 灬丶 | 园豆:9 (初学一级) | 2019-12-25 15:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册