2010-11-30 72 views
0

我有我們的基本企業靜態html網站安裝在我們的網站根目錄和我們的計費軟件安裝在/門戶網站。通過在/portal/header.tpl文件中包含/menu.tpl smarty模板文件,我已將這些網站集成到單個站點中。但是,如果我使用相對URL,則菜單sysem不起作用,因爲計費腳本的基礎URL是/ portal。即如果我在menu.tpl中創建了一個到faq.php的鏈接,並且我在門戶網站上加載了一個頁面,菜單中返回到faq頁面的鏈接現在是/portal/faq.php,因此如果我加載了一個頁面根網站的鏈接只是/faq.php,因爲它應該是。如何在網站中使用相對URL與兩個基址的網址

顯而易見的答案是隻使用絕對URL,但我需要該網站是可移植的,因爲我有許多開發人員需要安裝和測試它。

我無法找到解決這個問題。有任何想法嗎?

回答

0

我剛纔遇到同樣的問題,因爲你,並嘗試了很多死角,我終於結束了以下解決方案:

  1. 對於你需要一個chamelion任何URL,即根據環境改變其路徑,插入一個PHP函數,寫出正確的URL。
  2. 如果您從單箇中央文件中包含PHP功能,則可以根據設置或某些預先檢測的開關(如當前域名等)自動更改整個站點中的所有URL。

實施例:

<?php print_base_url_plus("/menu.php"); ?> 

...其中print_base_url_plus()是追加的基本URL到輸出的功能。

您可能會發現,您必須將某些URL的內容更改爲PHP,以便由PHP引擎對其進行預處理,或者可以更改Web設置,以便標準.htm文件通過PHP引擎進行傳送,就像.php文件一樣。

相關問題