> 백엔드 개발 > PHP 튜토리얼 > nginx配置对url解析有无/的问题

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

WBOY
풀어 주다: 2016-06-06 20:39:21
원래의
1235명이 탐색했습니다.

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后面少个/

回复内容:

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 写出来

如果大致是这样的:

<code>location ~* \.php$ {
    ....
}
</code>
로그인 후 복사

可以修改为这样:

<code>location ~* \.php? {
    ...
}
</code>
로그인 후 복사

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

<code>fastcgi_param PATH_INFO ^(.+?\.php)(/.+);
</code>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿