当我打开这样的url时,这个.htaccess文件会重写为/admin/index.php:http://example.com/admin/
但是http://example.com/admin/accounts/重写了对/index.php(第一条规则)的请求 .
我的配置文件有什么问题?
AddDefaultCharset utf-8
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
RewriteRule ^admin/(.*)$ admin/index.php [QSA,L]
RewriteRule ^api/(.*)$ api.php [QSA,L]
1 回答
您的最后两条规则被忽略,因为第一条规则取代它们,通过匹配所有内容
(.*)
.因此,最后两条规则应该移至
RewriteEngine on
之下 .