2015-01-05 53 views
1

我有一個簡單的CakePHP,我想在沒有URL重寫的情況下使用它。該網站在當地正常工作,但不在我的託管服務器上。我的系統一直勸我說:CakePHP路由沒有跟蹤路徑信息

的PHP包裝不接受尾隨路徑信息樣script.php/additional/path/info

CakePHP的似乎在默認情況下想到這個。我如何解決這個限制?我想我需要傳遞通過查詢字符串中的路徑信息,而不是,所以不是網址是這樣的:

http://example.com/index.php/controller/action 

我可能會需要像這樣:

http://example.com/index.php?path=controller/action 

我敢肯定這應該可以通過改變路由方案來實現,但是怎麼做?我曾嘗試閱讀文檔,並深入研究框架源代碼是一種令人畏懼的...謝謝!

+1

當你需要爲你的怪異環境找到粗略的解決方法時,如何不使用'mod_rewrite'更容易? – ndm

+0

我的意思是'mod_rewrite'本身的作品;我可以省略'index.php'並且有完全相同的問題。但我關掉它來幫助調試問題。 –

+0

問題到底是什麼(「_doesn't work_」不是很有用的信息)? 'mod_rewrite'和追蹤路徑信息是兩回事。 – ndm

回答

0

您的簡單解決方案是如何使用.htaccess從URL中刪除尾部斜槓。這可以通過以下重寫規則來完成:

RewriteRule ^(.*)/$ $1 [R=301,L] 

這應該放在應用程序的index.php中的.htaccess文件中。