我已經在本地機器上安裝了zend框架。我在httpd.conf中配置了一個虛擬主機,並在我的主機文件(127.0.0.1 mysite)中添加了一行。我正在運行Windows 7.一切正常。問題是當我上傳託管服務器的路徑混淆起來。 我正在上傳一個名爲zf-framework的遠程目錄。要訪問索引頁,我需要輸入這個網址:http://mysite/zf-framework/public。它顯示索引頁面,但當我按頁面上的任何鏈接時,它們會混在一起,最終會變成http://mysite/controller/action,實際上它應該是http://mysite/zf-framework/public/controller/action。我已經找到了解決這種情況的方法......使用echo $ this-> baseUrl(link)獲取layout.phtml中的任何鏈接。提交表單時問題更爲嚴重。我不能在那裏使用baseUrl ....或者我不知道如何使用它。有沒有辦法編寫一些通用配置的東西,以便這可以由框架自動解決。比方說在index.php或bootstrap.php中寫一些會自動修復路徑的東西?zend與路徑的框架問題
-1
A
回答
0
我不是100%,但如果你在routes.ini中指定路由爲zf-framework/public/Controller/Action等,這應該可以解決你的問題。
我會看到這是一個bandaid,但我不是100%確定如何正確解決您的問題,除非您修改遠程服務器上的vhosts文件以將文檔根設置爲公用文件夾。如果這不是一個選項,那麼上面應該可以工作,但是要知道所有的文件都可以從每個人(至少是你的文件夾結構)訪問。如果數據庫模式位於/ data目錄中,我不確定這可以造成什麼樣的危害(如果有的話)。
如果可能的話,最好嘗試讓公共設置爲web根目錄。
1
如果您使用的是Zend_Application,那麼將以下內容添加到您的configs/application.ini文件中。
resources.frontController.baseUrl =「/你的路徑,在這裏」
如果你不使用Zend_Application,那麼這樣做在你的引導,或index.php文件。
$front = Zend_Controller_Front::getInstance();
$front->setBaseUrl('/your-path-here');
您將不必使用$這 - >的baseUrl()提交表單,以同樣的動作和控制器時(剛離開了形式標記的action屬性),或者當使用重定向動作幫手。然而,你的視圖腳本中的鏈接將需要你$ this-> baseUrl('/ url-without-base'),這對我來說不算太糟糕。
相關問題
- 1. Zend框架路由問題
- 2. Zend框架與phpBB:URL問題
- 3. Zend框架:插件路徑
- 4. Zend框架的路由問題
- 5. 使用路線的zend框架問題
- 6. zend框架問題
- 7. 問題與Zend的框架1
- 8. 問題與Zend框架的功能getBaseUrl()
- 9. Zend Framework,路徑問題
- 10. Zend框架的問題
- 11. 問題與Zend框架設置?
- 12. 配置zend框架庫路徑
- 13. Zend框架2正從路徑URL
- 14. Zend框架路由器的問題 - 奇怪的路由行爲
- 15. zend框架版本問題
- 16. 插件問題 - Zend框架
- 17. zend框架FlashMessenger問題
- 18. Zend框架PartialLoop - 問題
- 19. Zend框架查看問題
- 20. Zend框架安裝問題
- 21. Zend框架PDF多問題
- 22. Zend框架路由
- 23. Zend框架2路
- 24. 有關Url編碼變音的路徑問題(使用Zend框架)
- 25. 與Zend框架
- 26. Zend框架複選框問題
- 27. Zend框架的路線
- 28. Zend框架路線的application.ini
- 29. Zend Framework 1.11.11包含路徑open_basedir問題
- 30. Zend Gdata包含路徑問題(Loader.php)
你幫我解決了另一個問題!呵呵謝謝! – 2017-05-21 03:01:37