1
Dogergo 2020-06-04 10:52:28 +08:00 via Android
看 nginx 层的处理,当成一个目录了,如果开了 autoindex,访问的变成了 /text/目录下的 index.html 了,这个文件不存在就做了其他处理
|
2
HarryQu 2020-06-04 11:22:29 +08:00
跟 Nginx 的配置有关,v2ex 具体配置不清楚。举个其他的例子,访问一个网址,网址以 / 结尾,没有匹配其他 location 时,如果 Nginx 进行了以下配置:
location / { try_files $uri $uri/ /index.html; } 上述配置中的 try_files 首先匹配文件,如果文件不存在。会查看是否存在同样命名的目录,如果存在目录,会查找该目录下是否存在 index.html 。如果上述条件都不满足,会匹配根目录的 /index.html 。 |
3
m0cha 2020-06-04 13:38:45 +08:00 via iPhone
是楼主的头像迫使我点开这个问题
|
4
Vegetable 2020-06-04 13:48:00 +08:00
不止 nginx,trailing slash 在后端框架大多是有一些配置的。
https://docs.djangoproject.com/en/dev/ref/settings/#append-slash https://flask.palletsprojects.com/en/1.1.x/quickstart/#unique-urls-redirection-behavior https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/config/annotation/PathMatchConfigurer.html#setUseTrailingSlashMatch-java.lang.Boolean- 就是说如果你设置的 url 带了 /,但是用户没带,会自动 redirect 到你的带 /的地址。 POST 、PUT 等带有 body 的方法应该不行 |