2014-12-20 43 views
-1

我的本地主機上有三個頁面1是我的索引頁面,2是我的通用頁面頁面,它位於包含文件夾之下,3是我的html文件,位於html文件夾下。文件包含在索引文件和html文件中,就像... for index.php-include(「includes/header.php」);對於html.php-include(「../ includes/header.php」)來說是 。通用頭的URL路徑不起作用

,我的頭有index.php頁面的鏈接,從而使(./index.php)

現在我的問題是,當我打開我的索引頁面,點擊從我的頭索引頁面的鏈接它帶我到相同的index.php頁面,但在打開html.php頁面,然後單擊index.php頁面鏈接從頭部它不會去index.php頁面,但它會轉到此頁面 - (localhost/educational%20website/html/index.php)如何解決這個問題。

我也想知道,現在寫我在本地主機,但是當我讓我的網站生活有任何需要改變路徑,因爲我約150頁與您的技術plaese所以請回答我的那種這同時用於本地主機和現場

+0

,而不是發佈您的代碼的說明,發佈您的代碼 – andrew

+0

那個標題是題外話 – dynamic

回答

0

你是包括路徑相對的技術,使用(絕對)的基本路徑在index.php解決這個問題:

include_once($_SERVER['DOCUMENT_ROOT'].'/includes/header.php'); 
+0

你肯定是沒有的鏈接斷裂,當我住在我的網站,因爲在那個時候,我必須更改150到200頁,並且在這種情況下還想知道我的document_root和實時內容。 – user2749039

+0

如果您不確定您的實時系統上「DOCUMENT_ROOT」的值是多少,請使用print_r($ _ SERVER) –

0

一種方法是定義一個變量或在header.php文件中該網站的網址爲常量。然後在所有其他頁面中,當需要提及其他url時,可以使用此變量/常量。

如(把這個作爲你的header.php文件中第一行):

define('SITE_URL', 'http://localhost/educationalwebsite'); 

在這裏,我們定義了一個名爲SITE_URL不變。然後在其他頁面中,您已經包含此頭文件。不是嗎?所以,這個常數將在您的index.phphtml.php和其他頁面中可用。

那麼如果有人在你html.php文件的鏈接(以指向index.php),你可以使用它是這樣的:如果你希望包括鏈接到html.php文件駐留html文件夾內

<a href="<?php echo SITE_URL;?>/index.php">Home</a> 

,它會像:

<a href="<?php echo SITE_URL;?>/html/html.php">HTML</a> 

通過使用這種方法,如果您上傳的整個網站到一個活的服務器,你只需要改變一行,即。在header.php的第一行,我們已經定義了SITE_URL常數。只需將其值更改爲您網站主目錄的新網址即可。

希望這有助於的