2012-03-09 107 views
0

匹配的實際目錄名稱我創建使用Front Controller圖案的應用,所以基本上都被送到index.phpURL重寫和正則表達式

這是我目前在我的.htaccess文件

RewriteRule ^([a-zA-Z0-9]+)(\/([a-zA-Z0-9]+))?(\/([a-zA-Z0-9\/]+))?(\/)?$ 
        index.php?class=$1&method=$3&args=$5 

(我不得不把它分成兩部分,但你知道我的意思)

所以它工作正常,但是如果我創建一個名爲/js的目錄例如必須可以直接訪問。這意味着,我不能把一個.htaccess文件中,並把:

Deny from all 

再使用URL重定向http://mysite.com/js訪問我的網站http://mysite.com/js/?class=js&method=foo&args=

Options -Indexes.htaccess文件並不能真正幫助。有什麼想法嗎?

任何澄清都是值得歡迎的,我並不擅長解釋事情。

感謝

回答

1

使用

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

排除在重定向規則真正的文件和目錄(重定向規則並不適用於真正的文件和目錄)。

+0

工作就像一個魅力!我必須等6分鐘才能接受。謝謝! – 2012-03-09 08:13:16