2014-01-23 65 views
3

我的文件結構是這樣的:笨配置的文件夾結構

- htdocs 
-- projects // contain all my projects 
--- <name-of-website> // a specific project 
---- application 
---- system 
---- index.php 
---- css 
---- js 

等瀏覽器的URL看起來像這樣(我也已經刪除了的index.php):

localhost/projects/<name-of-website> 

什麼我想要做的就是把的index.php CSS和JS的一個的public_html文件夾內,像這樣:

- htdocs 
-- projects 
--- <name-of-website> 
---- application 
---- system 
---- public_html 
----- css 
----- js 
----- index.php 
----- .htaccess 

,也改變了路徑的系統和應用程序文件夾

$system_path = '../system'; 
$application_folder = '../application'; 

,但是當我再次嘗試網址我沒有得到訪問索引頁,而不是必須去http://localhost/projects/fakecms/<name-of-website>/

我的問題是我可以保持這樣的文件夾結構沒有制動的網址? basicly我要像這樣訪問http://localhost/projects/<name-of-website>再次

+0

把你htacess在公共的html –

回答

0

恕我直言,在localhost這樣做不會做的感覺對我來說,BTW:

而不是居無定所g index.php文件,您可以將applicationsystem文件夾移動到htdocs(或服務器上的public_html)目錄之外的某個位置,並根據目錄樹更改這兩個文件夾的路徑。

這兩個文件夾中通常有一個.htaccess文件,它們阻止直接訪問PHP文件(由Deny from all)。

但是,如果.htaccess因任何原因停止工作,則將這些文件夾移到Web根目錄之外,可提高安全性。

舉例來說,如果你的index.php文件位於/home/public_html/project/applicationsystem文件夾應該放在/home/路徑:

home 
    application 
    system 
    public_html 
    project 
     css 
     js 
     .htaccess 
     index.php 

這個路徑是:

$system_path  = '../../system'; 
$application_folder = '../../application'; 
+0

你的意思是這個結構使得當項目在服務器上時? – Lykos

+0

@Lykos是的,在**生產環境** –

+1

是的我注意到了.htaccess文件,並且所有的php文件都包含這行代碼:defined('BASEPATH')或退出('沒有直接腳本訪問')。 ;以確保腳本無法直接訪問。我不想刪除我的項目文件夾之外的應用程序和系統文件夾,它會變成我所有其他項目的混亂。但是,如果我上傳到服務器上,我會盡量按照你的建議。 – Lykos

0

,你可以讓你的CSS和JS這樣的,在constants.php定義一樣,

define('STYLESHEETS_PATH',  'yoururl/css/'); 
define('SCRIPTS_PATH',   'yoururl/js/'); 

你的路徑得到的CSS時,你只是echo $STYLESHEETS_PATH;或在index.php對於JS echo $SCRIPTS_PATH