2013-05-10 91 views
0

我正在嘗試構建一個單頁動態網站,並且遇到了障礙。由於像URL:HTML包括使用PHP的CSS

index.php?page=Tutorials&Article=0 

是不是真的那麼漂亮,我決定使用的.htaccess重寫的URL,在這種情況下,像這樣:

Tutorials/Articles/0 

但是,這意味着我的大部分包括榮獲「T工作,因爲我使用相對路徑至網站的根路徑:

js/jquery-1.9.1.min.js 

我試着用下面的代碼來解決這些包含在index.php文件的開頭:

$str = dirname(__FILE__); 
$str = str_replace('\\','/',$str);//since i'm using localhost for development, the paths contain backwards slahses so I replace them 
$str.='/'; 
define('ROOT_DIR', $str); 

而且包括everytinhg用PHP:

echo ROOT_DIR.'js/jquery'; 

但這種形式給出似乎並沒有很好地工作,即使路徑apear被確定產生:

<script src="C:/xampp/htdocs/Tzeny/js/jquery-1.9.1.min.js"></script> 

我的問題你能幫我找到另一種解決方案來正確地包含我的文件或使我的解決方案工作嗎?

對於它的工作原理,所以第一頁:

Tzeny/Tutorials 

的作品,但

Tzeny/Tutorials/Categories/0 

不包括任何東西。我使用了/ Tzeny /和/。請有更多想法嗎?或者我應該回到正常的URL?

回答

2

您需要使用絕對路徑。例如: 如果你的域名是www.domain.com/Tzeny/index.php?page=Tutorials &條= 0 到像索引的每個文件,你需要有這樣的腳本:

<script src="/Tzeny/js/jquery-1.9.1.min.js"></script> 
0

只需使用絕對路徑

<script src="/js/jquery-1.9.1.min.js"></script> 

如果你不使用虛擬主機的本地開發,可以使你的URL的變量的根源 - 使同一代碼工作,你運行它

例無關:

<?php //pseudo code 
if (on localhost) { 
    $root = '/' . dirname(__FILE__); // example 
} else { 
    $root = '/'; 
} 
?> 

<script src="<?= $root ?>js/jquery-1.9.1.min.js"></script> 
0

如果在index.php是在文檔根目錄您的代碼將通過設置

$ROOT = "/"; 

,如果它被服務了一個目錄,你可以嘗試

$ROOT = "/".str_replace(rtrim($_SERVER['DOCUMENT_ROOT'],"/", '',$ROOT); 

工作希望這可以幫助。