打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Apache2.2.22开启PathInfo模式支持 | 微.小柒

昨天新配置了一个PHP集成开发环境,安装完后,把项目放到Apache服务器的www目录下,发现只能打开首页,其他页面全部无法打开,当时比较纳闷,以为是服务器没有配置好,测试了一下,发现环境配置没有问题。于是我想,该项目是采用ThinkPHP框架开发的,在配置文件中设置的是PathInfof访问模式,会不会是这个问题呢?于是我采用传统的URL参数模式尝试进行访问,发现没有问题。于是,很明显,真相只有一个,当前的服务器并不支持PathInfof模式访问。既然知道问题出在哪里,那么,接下来就好办了。
找度娘问了一下,大体说的都是Apache2在默认情况下没有开启PathInfof模式,需要自行开启,并给出了如下三种解决方法:
一:
在PHP安装文件夹下找到PHP.INI,

;cgi.fix_pathinfo=1
改为
cgi.fix_pathinfo = On
保存,重启服务器即可
也有的说将
;cgi.fix_pathinfo=1
之前的 ; 去掉,即改为
cgi.fix_pathinfo=1
保存,重启服务器的。
但是我尝试发现,这样并不能解决问题,于是决定采用第二种方法;

二:
打开Apache安装文件夹下的conf文件夹,找到httpd.conf文件中找到下面这段代码

<Directory />

Options FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

AcceptPathInfo On    //加入这行代码就OK了

</Directory>

不幸的是,按照上面的方法,还是失败了。木办法,只能试下第三种方法了;
三:

在配置文件中加入

<Files *.php>

AcceptPathInfo On

</Files>

这样 Apache 就可以支持针对 php 文件的 PathInfo 了。
于是,小柒又充满希望的试了一下,可惜,还是没有成功。
我想,这PathInfo跟URL有关,那会不会是因为Apache服务器没有开启mod_rewrite模块的关系呢?于是,我在Apache的配置文件(Apache安装目录的conf文件夹下的httpd.conf文件)里找到:
#LoadModule rewrite_module modules/mod_rewrite.so
将前面的#去掉,改为:
LoadModule rewrite_module modules/mod_rewrite.so
保存,重启服务器后,项目终于可以使用PathInfo模式访问了。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ThinkPHP中的pathinfo模式、模板与控制之间的关系
PHP 运行方式(PHP SAPI介绍)
CGI、FastCGI、CLI、Apache、ISAPI之PHP运行环境对比
URL模式
PHP教程 54 - ThinkPHP(1)
在线操作系统eyeOS的安装方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服