2011-11-02 18 views
0

我使用XAMPP在本地測試站點,但使用根目錄相關的URL作爲根目錄的問題是http://localhost/而非存儲站點文件的http://localhost/test-site/。很明顯,當我將該站點上傳到遠程服務器時,所有工作都正常,但是當樣式表甚至沒有被加載時,它使得本地測試變得令人討厭。使用根目錄相關的url和本地測試的問題

反正有這個問題嗎?

MTIA。 (Mohamed,我不知道你爲什麼編輯我的標籤 - 在我的文章中沒有提及php,所以我不知道你爲什麼將php添加爲標籤。另外,這篇文章涉及到html和本地主機,這就是爲什麼我使用「html」和「localhost」作爲標籤,並恢復標籤。如果我不正確地標記帖子,我會很感激解釋爲什麼以及如何確保我將來正確標記帖子。謝謝)

回答

0

您可以在設置文件或在index.php中使用常量:

define('LOCAL_URL', 'http://localhost/test-site/'); 
define('DISTANT_URL', 'http://domain.tld/'); 
define('DEV_VERSION', true); 

然後:

if(DEV_VERSION) 
    define('URL', LOCAL_URL); 
else 
    define('URL', DISTANT_URL); 

所以,你可以簡單地使用URL不斷在你的代碼,例如:

<link rel="stylesheet" type="text/css" href="<?php echo URL; ?>style/site.css" /> 

的優點是,它適用於所有情況。

而且它的簡單添加調試控制:

if(DEV_VERSION) 
    error_reporting(E_ALL^E_DEPRECATED^E_USER_DEPRECATED); 
else 
    error_reporting(0); 
+1

-1。將錯誤報告設置爲0是開發人員可以做的最愚蠢的事情。它*顯示錯誤*應該被關閉,而不是錯誤報告。您如何知道網站上的所有錯誤? –

+0

謝謝,這真的很有用!基於上述Col.Shrapnel的評論,我不會將錯誤報告設置爲0,但這非常有幫助。感謝你們倆! – circey

0

最方便的解決方案是創建爲每個測試網站專用域名。
我確信XAMPP甚至有一些工具可以完成這項任務,使得這些配置文件自動編輯爲最後的代碼片段自動編輯