Nginx 怎么配置访问的 URL 是目录的时候跳转到目录下的 index. PHP 并保留查询参数

2020-08-19 23:13:49 +08:00
 harrisliang

我想配置 Nginx 实现当访问的 URL 是目录的时候,例如:

http://127.0.0.1/modules/sso?param=abcd

此处对应的modules/sso目录是真实存在的,那么请求 URL 变为:

http://127.0.0.1/modules/sso/index.php?param=abcd

特别的,如果 URL 后面包含斜线,例如:

http://127.0.0.1/modules/sso/?param=abcd

也应该被正确识别,并重写为含有 index.php 的 URL,我的思路是用try_files来实现,但是测试后并没有得到想要的结果,请问这个应该怎么用 Nginx 来实现呢?

1831 次点击
所在节点    NGINX
4 条回复
Ptu2sha
2020-08-19 23:35:59 +08:00
如果是框架的话 去看下框架的配置 说明 一般就是 if -e file rewrite
harrisliang
2020-08-19 23:56:10 +08:00
@qingdanmo 感谢回复,不是用的框架,完全手写的 php 文件,也参考了几个框架的文档,感觉和我的需求不大一致
xiri
2020-08-20 00:12:29 +08:00
location / {
index index.php;
try_files $uri $uri/ /index.php?$query_string;
}
ericgui
2020-08-20 02:13:54 +08:00
@xiri +1

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/699762

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX