2013-04-08 80 views
0

我已經配置CakePHP的不使用mod_rewrite不能訪問的CakePHP控制器的動作:拖走了三個.htaccess文件並取消以下行在godaddy的

Configure::write('App.baseUrl', env('SCRIPT_NAME')); 

所以,如果我有一個客戶端控制器,我可以訪問「指數」行動通過訪問http://127.0.0.1/index.php/clients。它在我的本地機器上運行良好。但是,當我將代碼上傳到Web服務器(root_directory/application)時,我無法訪問Web服務器上的客戶端控制器。

我試過訪問http://www.onsitecaresolutions.com/application/index.php/clients,只得到:沒有指定輸入文件。

谷歌搜索後,我發現了一個帖子說,我需要訪問http://www.onsitecaresolutions.com/application/index.php?url=clients,但它不工作,以及:它只是顯示的主頁(PagesController)

所以,我怎麼能訪問客戶端控制器的索引操作?

任何建議表示讚賞。

回答

0

如果mod_rewrite可能在您的服務器上,我肯定會更喜歡這一點。

但是,在我看來,這個問題是由於在服務器上禁用了PATH_INFO而引起的。

快速搜索給了我是負責這AcceptPathInfo Directive

和一些相關的問題,可能提供有用信息的配置:

我我自己並不在GoDaddy上,我已經讀過他們的配置可能會有所不同版本。所以我無法測試你的情況。

這個討論:PATH_INFO or ORIG_PATH_INFO

包含關於配置GoDaddy的託管,設定一些具體的信息。

您可能會嘗試將此行包含在.htaccess中以啓用PATH_INFO;

AcceptPathInfo On 

但檢查其他(可能的)選項

我意識到這可能無法完全回答你的問題,但我希望這個信息,你就可以找到一個解決方案或替代方法的討論。

同樣,如果mod_rewrite一個選項,它確實是運行的CakePHP的首選方式。使用index.php/path/info基本上僅用於開發或者mod_rewrite不可用。

0

我正面臨同樣的問題。 我只是將RewriteBase /添加到我的根文件夾中的.htaccess文件中。