2012-03-22 38 views
0

這是我的mod_rewrite規則:mod_rewrite的現有目錄

RewriteEngine On 
RewriteRule ^([^./]+)/?$ index.php?id=$1 [L] 

這將改寫http://www.mysite.com/abc/http://www.mysite.com/index.php?id=abc。但是,我也有一個子目錄,我不希望它被重寫。所以如果一個目錄存在,它應該只使用該目錄。如果不是,它將使用重寫。如何才能做到這一點?

回答

2

容易餡餅:

RewriteEngine On 
# Make sure it's not a real directory 
RewriteCond %{REQUEST_FILENAME} !-d 
# Make sure it's not a real file 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^./]+)/?$ index.php?id=$1 [L] 

哎對了,我花了2秒找到了答案:2秒=鍵入時間「重寫規則文件不存在」

+0

你真棒:D – Patrick 2012-03-22 08:13:09

+0

這是我的榮幸! – 2012-03-22 08:17:08

0

不要忘了包括下面這個RewriteEngine On

RewriteBase /yourdirectory