我试图仅为子目录重写,但我遇到了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/
,但没有任何变化。
我知道如何解决这个问题?
答案 0 :(得分:0)
在/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]