2014-02-27 86 views
0

我開發基於MVC模式的CMS。 我wnat以防止我的子文件夾和文件 我在根文件夾這個.htaccess文件直接訪問:htaccess防止所有子目錄的直接訪問

php_flag display_errors On 
php_value error_reproting 9999 

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    SetEnv HTTP_MOD_REWRITE On 
    RewriteBase /lmvc_trunk/ 

    Options -Indexes 

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-l 
    RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 
</IfModule> 

的頁面請求的樣子:http://mydoamin.com/pages/details/15。這將加載「頁面」控制器並稱之爲「細節」的方法,並將15作爲參數(pages_controller-> details(15))傳入。

「Options -Indexes」將阻止用戶列出/庫目錄。但如果我在瀏覽器中輸入http://mydoamin.com/library/Bootstrap.php,它將加載php腳本。我知道如果我添加一個.htaccess文件與「拒絕從所有」到一個子文件夾,將解決這個問題,但沒有任何比這個htaccess文件放在所有我的子文件夾更好的解決方案?我可以以某種方式阻止直接訪問根目錄中的文件和htaccess中的文件?

它會更好,如果我能直接重定向文件和文件夾的請求索引/ 404,使用戶甚至不會知道,如果有一個名爲e.g /庫

進出口新的htacces文件夾和重寫。任何解決方案

回答

0

將這一規則爲您第一條規則

RewriteCond %{THE_REQUEST} \s/+[^/]+/\S+ 
RewriteRule^- [F,L]