Nginx下TP3.2页面访问404问题
2017-11-13 15:49
1041 查看
引入
在使用Thinkphp的时候,项目在本地可以正常使用;但迁移到nginx后,会出现页面只能访问首页,其它页面出现404错误的问题。这是因为TP默认采用的是pathinfo的URL访问模式(TP的URL访问模式可在手册中了解),而Nginx默认是没有开启pathinfo模式的,PHP默认也没有开启pathinfo的配置,所以访问时会出现错误。
pathinfo模式是怎样的模式呢?
例如:http://localhost/goodsLevel/index.php/Home/Index/index.html上面的url就是采用pathinfo模式,特点如下:
1、路径中携带了入口文件index.php
2、在入口文件后跟随路径。格式一般为index.php/模块/控制器/方法/参数等
404页面出现原由
了解pathinfo模式后,我们就知道为什么Nginx环境下访问TP页面时出现404页面了。因为按照常理来说,index.php后面跟随着路径,那么index.php就相当于一个文件夹了。但实际上又不存在index.php这个文件夹,所以如果没有开启pathinfo模式,那么这个路径解析就会报找不到文件。而只有在开启pathinfo模式之后,服务器才会去执行index.php这个文件。
Nginx配置phpinfo
1--配置php.ini,使php支持pathinfo
2--配置nginx.conf
在Nginx配置nginx.conf中的server加入以下配置server { ... location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1; } } location ~ \.php { #fastcgi_pass remote_php_ip:9000; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi_params; set $real_script_name $fastcgi_script_name; i afce f ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info; } }nginx.conf加入以上配置后,lnmp restart重启即可。
Nginx下TP3.2页面访问404问题解决!!!
相关文章推荐
- vue 在nginx下页面刷新出现404问题解决和在nginx下页面加载了js但是页面显示空白问题解决
- 创 nginx v1.4.6 部署ThinkPHP 页面访问404 -- 酱油小君搬砖记
- tomcat启动后,页面访问不到404的问题
- nginx配置后只有根目录首页index.php能访问,其他页面404
- nginx访问静态文件404问题
- 遇到问题--Nginx---tomcat启动web程序访问静态资源时404找不到
- PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
- 遇到问题--Nginx---tomcat启动web程序访问静态资源时404找不到
- nginx配置https之后只有首页能访问,其他页面404
- 遇到问题--Nginx---tomcat启动web程序访问静态资源时404找不到
- wordpress配置固定链接nginx访问404问题解决方法
- 遇到问题--Nginx---tomcat启动web程序访问静态资源时404找不到
- nginx和tomcat做整合,nginx代理访问tomcat页面,一级页面能访问,但是二级页面提示404错误。
- maven项目访问jsp页面404问题
- wordpress配置固定链接nginx访问404问题解决方法
- Nginx 访问静态资源报错404 Not Found 的问题解决过程
- 关于tomcat报错404的问题(能看到猫,但是访问不到自己的工程页面)
- nginx作为反向代理访问静态资源出现404问题
- react,vue等部署单页面项目时,访问刷新出现404问题
- centos7 安装nginx和php5.6.25遇到 无法访问php页面 报错file not found 问题解决