Apache2.2.22 開啟PathInfo模式支持
阿新 • • 發佈:2019-05-08
發現 開發環境 mod apache2.2 onf 去掉 成功 rri module
Apache2.2.22 開啟PathInfo模式支持
2017-12-19 04:26:46昨天新配置了一個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模式訪問了。
Apache2.2.22 開啟PathInfo模式支持