ZF的當前路徑有關問題?求幫忙。多謝

來源:互聯網
上載者:User
ZF的當前路徑問題?求幫忙。謝謝
小弟剛研究zendframework一段時間,遇到一個問題。希望各位大俠幫忙解決,先謝謝了
我做的一個後台,adminControll.php
訪問是 http://網址/admin
看了很多地方包括教程之類的都有說了在初始化的時候寫上這句,
$this->view->baseUrl = $this->_request->getBaseUrl();
但是我輸出看了,只是一個 .
而且根本不能起到什麼作用,我很多連結的地方都用 $this->baseUrl放在前面,但是開啟頁面老是出錯,就是得不到正確的連結地址,到現在我只能寫死,比如網址是http://www.123.com,現在要看一個articleAction 。那麼我在頁面上都會寫死,http://www.123.com/admin/article
如果我換做是$this->baseUrl."/admin/article",可能會出錯,比如我在單獨一個頁面上接上參數的時候就出錯了http://www.123.com/admin/article/act/edit/id/1。這樣寫的話,得到的路徑就很糟糕了。
可能我糊裡糊塗表達的不太清楚,不知道大家能理解不?
這個路徑問題害的我樣式啊,圖片啊都有可能會出錯了。除非把路徑寫死。
在http://www.123.com/admin/article 頁面用
顯示正確.
而在http://www.123.com/admin/article/act/edit/id/1 這個頁面上就出錯了。但是它們調用的是同一個檔案,地址路徑是一樣的,在網址上看來卻是多了好多個檔案夾。所以這樣就錯了。
我現在是寫死了。直接
而weburl;?>就是http://www.123.com
我想來想去覺得這種方法太死了。
還有什麼其他辦法嗎?
求解,謝謝高手幫忙。

------解決方案--------------------
嗯,其實zf了很多擷取url的功能。提供了很多方法可以靈活變通。
如果是在phtml中:
$this->baseUrl()表示的是
如果項目是demo1
表示的就是/demo1/public
既:
http://localhost/demo1/public
如果所以你的css在你可以用
echo $this->baseUrl().'/styles/global.css'
即:
http://localhost/demo1/public/styles/global.css

。baseUrl的含義就是從去掉網域名稱開始算的。以後像是資源的引用進來不要用相對路徑。用得話,要想清楚了

如果你擷取網站的網址用
$this->serverUrl()會返回http://localhost


  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.