2014-10-26 65 views
1

我正在嘗試重寫僅用於子目錄,但我遇到了RewriteCond問題。 我的所有文件都在/abc爲子文件夾重寫url

這裏是我的htaccess(/abc/.htaccess)文件:

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} -f 
RewriteCond %{REQUEST_URI} ^/static/ [NC,OR] 
RewriteCond %{REQUEST_URI} ^/files/ [NC] 
RewriteRule . - [L] 

RewriteRule (.*) index.php?_url=$1 [QSA,L] 

所以我想重寫每個URL除了/static/files現有文件的index.php。但是這個代碼也重寫了/static/a.jpg,因爲請求是/abc/static/a.jpg。我嘗試將RewriteBase設置爲/abc/,但沒有任何變化。

任何想法如何解決這個問題?

回答

0

有你的.htaccess像這樣/abc/.htaccess

RewriteEngine on 
RewriteBase /abc/ 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_URI} ^/(static|files)(/|$) [NC] 
RewriteRule . - [L] 

RewriteCond %{REQUEST_FILENAME} !-f  
RewriteRule (.*) index.php?_url=$1 [QSA,L] 
+0

這將排除整個文件夾,但我只希望現有的文件從重寫被排除 - 我要處理404頁,使用PHP,但你給了我一個想法,我的新代碼如下所示:http://pastebin.com/9ZL2Dt5k唯一的問題是,當我打開/ abc/static或其他任何存在的文件夾時,它會將我重定向到/ abc /靜態/?_ URL =靜態 – vsakos 2014-10-26 18:27:57