我在liunx上部署了一个程序,但是访问http://xxx/article/detail?id=12&t=编程世界的时候因为url的问题一直404,看了好多nginx的配置url的都没解决,有没有哪里比较完整的教程可以看看?
你的 location 只匹配了 /article/detail/ 的请求地址. /article/detail.html 是没有匹配到的,因为不符合 /article/detail/
然后 location /article/detail/ {} 里面会把 匹配到的重定向到http://127.0.0.1/article/detail.html?id=$id ,
那我laocation是要写成 /article/detail.html/,这样吗
@灬丶: 你这写的感觉 很啰嗦. 感觉没必要那么复杂.
location / {
rewrite ^/(.*).html /$1 break;
}
// 意思就是 将/article/detail.html => /article/detail
// /aaa/bbb.html => /aaa/bbb
@灬丶: nginx localtion
@xiaobaiskill: 不是很理解你写的,rewrite之后不是相当于从新访问了/aaa/bbb,但实际上我的服务目录下没有/aaa/bbb这个路径,只有aaa/bbb.html,还是我的对nginx理解错了
@灬丶: 你告诉我 在没有使用nginx时,能够正常访问的路由, 和你现在想要将路由改变成什么样子的
@xiaobaiskill: 我只是想访问 “http://58.87.92.221/article/detail?id=12&t=编程世界”这个目录,但是据我所知nginx会把“detail?id=12&t=编程世界”当成页面地址,所以就无法访问到,404了,所以就自己模仿别人写了一个nginx的url匹配规则,这个是我自己写的一个前后端分离的项目
@灬丶: ???
@xiaobaiskill: 访问不了不是要写匹配规则吗?
@灬丶: 你的先能访问,再写你想要的规则呀. 不能访问,你写好规则又怎么知道行不行呢?
@xiaobaiskill: ok.谢了大佬
有可能是Nginx的Config写错啦
我现在可以这样访问http://xxx/article/detail/12后浏览器的url栏就变成了http://xxx/article/detail.html?id=12,但是我不想这样子,我想直接http://xxx/article/detail.html?id=12就可以访问
请贴上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年前