首页 > nginx配置对url解析有无/的问题

nginx配置对url解析有无/的问题

1.LNMP环境,访问:http://60.206.137.245/index.php ok
访问:http://60.206.137.245/index.php/ 404 not found (url多一个/)

2.WAMP环境,访问: http://boss.local/index.php/, url后面有无反斜杠/,都可以正常访问

1,2 都没有配置url重写, 怎么样可以让LNMP环境下 有无/,访问都是一样的了?

ps: 记得谁说标准的url都是以/结尾,像这样 http://www.test.com/index.php/?a=aa&b=bb,
但是实际中都是:http://www.test.com/index.php?a=aa&b=bb ,比前者index.php后面少个/


请将你的 匹配 php 文件的 location 写出来

如果大致是这样的:

location ~* \.php$ {
    ....
}

可以修改为这样:

location ~* \.php? {
    ...
}

并启用 pathinfo,php.ini 中的 pathinfo可以关闭,在 fastcgi.conf 文件中或者在 匹配 php 文件的location 中添加 nginx 的开启规则就可以了,其实 就是定义了一个变量而已:

fastcgi_param PATH_INFO ^(.+?\.php)(/.+);
【热门文章】
【热门文章】