回答
收藏
分享
举报
nginx配置转发时,locatin后面的路径有带空格,无法访问
提问于2022-12-13 19:09

浏览 1.4k

文章标签

访问地址:http://127.0.0.1/aa/aa aa aa/aa

这样配置nginx启动会报错

location /aa/aa aa aa/aa {}

这样配置访问404

location /aa/aa%20aa%20aa/aa {}  


各位有没有什么解决办法

已修改于2023-03-17 02:02



写下您的回答
发表回答
全部回答(1)

按点赞数排序

按时间排序

在Nginx配置中,URL中的空格在处理时需要进行编码。对于空格,需要使用 `%20` 进行编码。在你的情况下,需要将 `/aa/aa aa aa/aa` 中的空格编码为 `/aa/aa%20aa%20aa/aa`。


尝试使用以下配置来处理带有空格的URL:


```

location /aa/aa%20aa%20aa/aa {}

```


请确保重启Nginx以使配置生效。这样配置后,应该可以正确处理带有空格的URL路径。


如果你希望在配置中使用原始的含有空格的URL路径而不进行编码,可以考虑使用正则表达式来匹配路径。以下是一个示例配置:


```

location ~ ^/aa/aa\saa\aaa/aa$ {}

```


该配置使用正则表达式 `^/aa/aa\saa\aaa/aa$` 匹配路径 `/aa/aa aa aa/aa`,其中 `\s` 表示空格。


无论你选择哪种方式,都需要注意在配置更改后重新加载或重启Nginx以使其生效。

赞同

0

回复举报

回答于2023-07-05 20:11



回复名蒸蛋·柯南
回复
提问者
___
这家伙很懒还未留下介绍~
0
文章
1
问答
0
粉丝
相关问答

options请求?需要跨域访问? 

点赞 0
浏览 1.7k

sticky模块只能在linux下吧,win下没有。tomcat好像有个session复制吧,或者可以用共享session。

点赞 0
浏览 1.4k

没办法完全不受影响的,因为mirror是子请求,当子请求未结束时,主请求消耗的内存至少是无法释放的。你可以尝试在/mirror里,把超时时间大幅度调低,包括connect/read/send,再压下看看。

点赞 0
浏览 2.7k