1. 程式人生 > >CI框架部署後訪問出現404

CI框架部署後訪問出現404

接下來 文件 比較 集成開發 cgi .so rom order 配置

昨天新配置了一個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文件中找到下面這段代碼
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
AcceptPathInfo On //加入這行代碼就OK了
不幸的是,按照上面的方法,還是失敗了。木辦法,只能試下第三種方法了;
三:
在配置文件中加入
AcceptPathInfo On
這樣 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模式訪問了。

CI框架部署後訪問出現404