url重写为子文件夹

时间:2014-10-26 17:25:32

标签: apache .htaccess mod-rewrite url-rewriting

我试图仅为子目录重写,但我遇到了RewriteCond的问题。 我的所有文件都在/abc

这是我的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重写为index.php,但/static/files中的现有文件除外。但是这段代码也在重写/static/a.jpg,因为请求是/abc/static/a.jpg。我尝试将RewriteBase设置为/abc/,但没有任何变化。

我知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

/abc/.htaccess

中使用.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]