2015-04-23 24 views
2

我目前正在開發一個系統,但我對我應該如何實現這一點感到困惑。這是我簡單的文件結構配置htaccess直接訪問CSS和JS文件,但將所有其他請求重定向到索引文件

-.htaccess 
--/public 
--/public/index.php 
--/project 
--/project/template1/css 
--/project/template2/js 
--/project/all-other-files-and-folders-used 

我的系統目前重定向到的index.php,它加載在所有其他工作項目文件夾中的文件的所有請求,但我想htaccess的承認所有的CSS,IMG和JS文件夾中的項目文件夾,並允許直接訪問它們。

這是我現在

RewriteEngine on 
RewriteRule ^((?!public/).*)$ public/$1 [NC,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?cmd=$1 [PT,L] 

這是可能的.htaccess文件? 在此先感謝

+0

這種情況: 「的RewriteCond%{} REQUEST_FILENAME -f」 必須保護你從重定向文件。 – user4035

回答

0

您可以使用:

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^((?!(?:public|project)/).+)$ public/index.php?cmd=$1 [QSA,NC,L] 
+0

你介意解釋你的代碼,以便我能更好地理解發生了什麼嗎?我實現了你的解決方案,但它只能部分地阻止我的其他php文件被訪問 –

+0

其他的PHP文件位於哪裏?此規則只會影響非文件和非目錄 – anubhava

+0

它們位於上述我的簡化文件結構中指示的項目文件夾中。 –

相關問題