thinkphp在Nginx下使用PATHINFO模式显示no input file specified的解决方法
2017-09-20 14:06
661 查看
因为项目原因可能大家会需要用到pathinfo模式。
百度到的方法基本都是在Nginx的location区用如下代码解决!
此方法当你做了伪静态的时候,是可以正常使用的。就是假设后缀改成了html/aspx等等等等!
但是如果后缀保持php 又没有隐藏掉中间的index.php的时候
例如:
http://www.www.com/index.php/Admin/Admin/index.php
会报"no input file specified"
解决方法如下:
附隐藏index.php的方法
location / {
root html;
index index.php index.html index.htm;
if (!-e $request_filename) {
###一级目录下
#rewrite ^/(.*)$ /index.php/$1 last;
###域名下的二级目录
rewrite ^/tp5/(.*)$ /tp5/index.php/$1 last;
}
}
百度到的方法基本都是在Nginx的location区用如下代码解决!
location ~ [^/]\.php(/|$) { #PHP-FPM配置段 #fastcgi_pass remote_php_ip:9000; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; #add fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
此方法当你做了伪静态的时候,是可以正常使用的。就是假设后缀改成了html/aspx等等等等!
但是如果后缀保持php 又没有隐藏掉中间的index.php的时候
例如:
http://www.www.com/index.php/Admin/Admin/index.php
会报"no input file specified"
解决方法如下:
将以上的 fastcgi_split_path_info ^(.+\.php)(.*)$; 改成 fastcgi_split_path_info ^(.+\.php)(.*)\.php$;即可解决
附隐藏index.php的方法
location / {
root html;
index index.php index.html index.htm;
if (!-e $request_filename) {
###一级目录下
#rewrite ^/(.*)$ /index.php/$1 last;
###域名下的二级目录
rewrite ^/tp5/(.*)$ /tp5/index.php/$1 last;
}
}
相关文章推荐
- thinkphp配置rewrite模式访问时不生效 出现No input file specified解决方法
- windows nginx+php 显示no input file specified的解决方法
- Nginx执行php,显示“No input file specified. ”的处理方法
- Thinkphp3.2.3 No input file specified 的解决方法
- ThinkPHP3.2.3的URL重写时遇到No input file specified的解决方法,htaccess规则问题
- thinkphp No input file specified的解决方法
- Thinkphp3.2.3 No input file specified 的解决方法
- Nginx执行php,No input file specified的解决方法
- Thinkphp3.2.3 No input file specified 的解决方法
- 配置Nginx支持php,出现No input file specified错误的解决方法
- Thinkphp3.2.3 No input file specified 的解决方法
- Thinkphp3.2.3 No input file specified 的解决方法
- Nginx执行php,显示“No input file specified. ”的处理方法
- Thinkphp3.2.3 No input file specified 的解决方法
- ThinkPHP的URL重写时遇到No input file specified的解决方法
- 针对thinkphp中"no input file specified"的解决方法
- Thinkphp3.2.3 No input file specified 的解决方法
- ThinkPHP的URL重写时遇到No input file specified的解决方法
- Nginx执行php,No input file specified的解决方法
- 解决nginx服务器访问不存在的php页面显示No input file specified.问题