2011-08-22 37 views
1

的本地URL文件我有兩個文件:調用用PHP保持文件名爲

1.- root/folder/folder/themes/themeindex.php

2:root/index.php

我想包括themeindex.phpindex.php因此,當您進入root目錄時,它將加載主題,而不會將您帶到(或顯示您)root/folder/folder/themes/路徑。

我正在努力尋找或想出一種方法來包含themeindex.php文件,但保持其themes文件夾的本地URL。

含義我

<link rel="stylesheet" type="text/css" href="style.css" />

仍將作爲和我不會把它變成:

<link rel="stylesheet" type="text/css" href="/folder/folder/themes/style.css" />

我希望這一切纔有意義。

編輯: Hopefuly我的原因,這有助於解釋多一點...

1 .-我想最終的開發者能夠爲直觀 儘可能創建主題。因此,網址儘可能簡單直觀。

2.-我需要將活動主題包含到root 目錄中,因此它在打開root時自動加載。

所以,如果你合併,我的理由第一,與我的理由第二,然後你 可能會明白它是多麼重要的是它是保持本地和易於 理解。

+2

*顯示你?帶你?*這是什麼意思? – webbiedave

+0

你是否100%肯定你不明白我的意思? –

回答

0

您可以請求style.php,而不是style.css,您定義的文件使用導入root/folder/folder/themes/style.css並徹底迴應。

0

要包括主題文件很簡單:

include('root/folder/folder/themes/themeindex.php'); 

的另一個問題是特定於HTML。 HTML需要具有該文件的網頁路徑(而不是絕對路徑),以便它可以加載它並使用它。

你也許可以做的最好的是一樣的東西:

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

但仍然會暴露你的主題目錄。你爲什麼試圖隱藏那個目錄?


迴應評論:

如果你把我上面,讓你的開發者知道如何構建自己的內容目錄中的代碼。你需要做的只是跟蹤$active_theme_root這樣的東西,並回應那個加載他們自己定製的主題。據我所知,你不能設置一個HTML包含目錄,所以HTML需要知道所有需要的資源的網絡路徑

+0

我希望最終的開發人員能夠儘可能直觀地創建主題。因此,網址儘可能簡單直觀。 //除此之外,我還需要將活動主題包含到'root'目錄中,以便在打開'root'時自動加載。但是,如果你合併,我的理由第一,與我的理由第二,然後你可能會注意到它是多麼重要的是它保持本地和容易理解的URL。 –

0

在根的.htaccess文件,添加下一行:

RewriteEngine On 
RewriteRule ^style.css$ /folder/folder/themes/style.css [L] 
0

最好的解決辦法可能是讓他們使用一個全球性的樣式表文件夾中的所有主題( 「根/樣式表」) 。然後他們會鏈接到這個相關的全球文件夾:

<link rel="stylesheet" type="text/css" href="stylesheets/mytheme/style.css" />