nginx“虚拟目录”不支持php的解决办法

这几天在配置Nginx,PHP用FastCGI,想装一个phpMyAdmin管理数据库,phpMyAdmin不想放在网站根目录 下,这样不容易和网站应用混在一起,这样phpMyAdmin的目录就放在别处,在Apache里,有alias,比较方便,在Nginx下没有虚拟目录 概念的,是用location配合alias使用,我先试了简单的配置方式

location /web/ {

alias /data/web/;

index index.html index.htm index.php;

}

location ~ .*\.(php|php5)?$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fcgi.conf;

}

我用http://localhost/web/可以访问到/data/web目录下的静态文件,但访问php文件,却报No input file specified.的错误,而且在Nginx的error日志上却什么信息也没有,我在网上搜索了一下,判断应该是php文件并没有被后端的 FastCGI运行,我又继续搜索一些文章,试着增加了一段配置

location /web/ {

alias /data/web/;

index index.html index.htm index.php;

}

location ~ ^/web/.+\.php$ {

root /data/;

rewrite /web/(.*\.php?) /$1 break;

include fcgi.conf;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /data/web$fastcgi_script_name;

}

location ~ .*\.(php|php5)?$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fcgi.conf;

}

这下可以了,原理应该是采用rewrite的方法,对于/web/下php类型的的请求交给后端的FastCGI处理,并且指定了php脚本的位 置,这样我们就可以配置phpMyAdmin了,配置如下

location /phpmyadmin/ {

alias /data/phpmyadmin/;

index index.html index.htm index.php;

}

location ~ ^/phpmyadmin/.+\.php$ {

root /data/;

rewrite /phpmyadmin/(.*\.php?) /$1 break;

include fcgi.conf;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /data/phpmyadmin$fastcgi_script_name;

}

location ~ .*\.(php|php5)?$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fcgi.conf;

}

要注意的是

location ~ .*\.(php|php5)?$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fcgi.conf;

}

这段,要放在phpmyadmin的后面,放在前面就有问题,这是和Nginx的location规则有关,具体看Nginx的文档,另 外,phpMyAdmin里要配置一下URI的绝对路径,就可以了。

?

?

相关文章

相关视频

nginx虚拟目录支持PHP,nginx“虚拟目录”不支持php的解决方法相关推荐

  1. 【thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方法】

    [thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方法] 参考文章: (1)[thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方 ...

  2. 使用nginx做反代时遇到413 Request Entity Too Large的解决方法

    使用nginx做反代时遇到413 Request Entity Too Large的解决方法 参考文章: (1)使用nginx做反代时遇到413 Request Entity Too Large的解决 ...

  3. 小米助手android6版本暂未支持,小米助手连接不上小米5怎么办 小米助手显示不支持安卓6.0连接不上小米5解决方法...

    有用户反映小米5连接小米助手没反应,而且还说不支持安卓6.0.但是小米5连接其他管家却能连上,就是一直连不上"小米助手".如果是我也会很郁闷,本来小米助手是针对小米手机连接电脑的配 ...

  4. 现场记录:Nginx重启失败,端口已被使用的可能原因及解决方法

    1. 问题 某用户在使用系统时上传了错误文件,并且未意识到该问题,直到流程审批结束,此时已无法修改:运维人员分析了相关接口,将处理好的文件上传到Nginx静态目录下,kill掉进程后重启Nginx,出 ...

  5. oracle目录删除后恢复,Oracle删除后不能重新安装的解决方法

    很多朋友只用了Oracle的删除,但很多情况下,他会发现重新安装时,点了下一步安装界面就消失了,往往无奈下只好重装系统,其实只是你数据库没删干净,删干净就不会出现这种情况了. 实现方法: 1. 开始- ...

  6. 2012网站服务器目录磁盘满了,服务器磁盘异常爆满的原因及解决方法

    最近经常收到360网站监控发来的邮件,提示网站打不开,原因则无一例外都是磁盘爆满,导致mysql停止工作,删除部分文件后,网站恢复访问,不过过不多久,网站又再次因为磁盘爆满而打不开,在服务器上找了一圈 ...

  7. 访问共享目录,取消默认使用Guest帐号登录的解决方法

    默认情况 下,Windows XP的本地安全设置要求进行网络访问的用户全部采用来宾方式.同时,在Windows XP安全策略的用户权利指派中又禁止Guest用户通过网络访问系统.这样两条相互矛盾的安全 ...

  8. VMware提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态——解决方法

    虚拟机VMware提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态,也就是需要开启Intel Virtualization Technology虚拟化技术.Intel VT-x完 ...

  9. mysql_connect() 不支持 请检查 mysql 模块是否正确加载 解决方法

    本文出自 "小鸡哥哥的空间" 博客,请务必保留此出处http://aishaoer.blog.51cto.com/769164/283947 本文出自 51CTO.COM技术博客 ...

  10. nginx 1.14 php,安装php7.2+nginx1.14.2常见报错解决方法_2018_lcf

    1.PHP(无底色行是错误信息,黑底色行是解决方法) configure: error: Cannot find OpenSSL's # yum -y install openssl openssl- ...

最新文章

  1. 2月中国域名总量平稳回升 净增长量逾10.3万个
  2. python3 获取 文件 文件夹大小
  3. 对数线性模型之一(逻辑回归), 广义线性模型学习总结
  4. objcopy的详细说明
  5. 循环神经网络 (RNN)
  6. UVA 11584 Partitioning by Palindromes (字符串区间dp)
  7. 使用Metal打造令人惊叹的游戏效果
  8. 在Jupyter Notebook中调用ML模型服务图像标题生成器
  9. BFS-迷宫问题-用宽度(广度)优先搜索解决最优路径问题
  10. excel怎么设置自动计算_Excel怎么计算所占百分比?
  11. 国奇科技获得融资背后:同名公司存在失信行为,总裁谷建余被限消
  12. 手机号码正则表达式匹配
  13. 紫光华宇拼音输入法 6.x bug集
  14. 微信发红包api php,php版微信公众号接口实现发红包的方法
  15. 使用OpenSSL模拟SSL证书验证过程
  16. 关于常用传感器NPN和PNP类型的选择
  17. 第32届IEEE机器人与人类交互通信国际会议ROMAN 2023
  18. 华为人力资源管理经典大全
  19. php.ini 配置composer,composer安装配置
  20. 神奇的计算机作文400字,人工智能作文400字十篇

热门文章

  1. OpenStack自动发现计算节点
  2. Android Looper Message MessageQueue Handler
  3. linux编译cmake
  4. java基础--集合案例斗地主发牌排序
  5. leetcode 1504. Count Submatrices With All Ones | 1504. 统计全 1 子矩形(单调栈)
  6. 线性代数:二次型为什么可以用矩阵表示?——分组因式分解推导
  7. 【牛客网】安置路灯 C++
  8. Java集合Collection与List的关系、常见用法
  9. 算法设计与分析(第三周)递归求阶乘
  10. 使用VSCode连接到IBM Cloud区块链网络