2012-06-12 92 views
1

這也許只是一個簡單的問題,但我真的不知道什麼是對包括最佳做法,說的javascript,IMG,或CSS使用絕對路徑絕對路徑的PHP

什麼我真的使用權現在使用這樣

<?php 
$prefix = '//'; 
$rootFolder = $prefix . $_SERVER['HTTP_HOST']; 
?> 

代碼,以便然後當我想包括像jQuery的,我只需要輸入這樣

<script type="text/javascript" src="<?php echo $rootFolder ?>/jquery-1.7.1.min.js"></script> 

的代碼是這樣不夠好?或者,我應該修改前綴爲「http://」,或者有更好的方法使用另一個超全局變量等?提前:)

+1

爲什麼你需要絕對路徑?爲什麼不使用src =「/ jquery-1.7.1.min.js」> – Sarke

+0

您的項目是否託管在子文件夾中?這就是爲什麼你需要前綴的路徑? –

+0

因爲當我與嵌套文件夾中的多個頁面的工作,我認爲這是相當麻煩的使用大量的../../ –

回答

1

這個問題

由於不能以正確的方式來回答,因爲絕對和相對路徑,都有一個網站,對自己的重要性。

對於搜索引擎,他們不喜歡用絕對鏈接到同一網站的網站。現代瀏覽器現在已經閱讀了網站當前URL前綴的相對路徑,除非在URL的前面使用「/」。所以,當你嘗試儘可能使用相對路徑時,它不應該受到傷害。

另一種情況是,如果你的應用是由多個模塊擴展。通常採取一個管理模塊和一個用戶模塊。如果這些模塊共享JS,CSS等的公共資源文件夾,那麼它有用並且容易創建相對路徑。

因爲,你的問題是關注從根文件夾訪問的資源,你應該罰款,因爲它是即使用相對路徑。

+0

所以不建議你在說什麼,我上面使用方法?是堅持使用相對路徑../ ..足夠好?你知道,因爲有時在開發模式中,我們經常將頁面從一個文件夾移動到另一個文件夾,我們必須重新編碼我們需要的源的相對路徑 –

+0

@FelixPerdana,這是一種編碼無法在更改文件夾結構後使系統崩潰。出於最簡單的原因,每個結構的一個定義應該足以滿足所有的要求。 – Starx

+0

@FelixPerdana,而且,不,我更喜歡使用相對路徑,而不是絕對值,除非它們是用於電子郵件。 – Starx

1

使用src="/jquery-1.7.1.min.js",領先的斜線將去根。因此,您所在的文件夾級別無關緊要,它始終會找到它。這基本上是絕對的,但沒有協議和域名。

如果你總是在同一臺服務器上,你並不需要在所有的主機名(最好不要把它列入如果你移動領域)。

+0

感謝您的意見:) –