.htaccess重写规则无法正常工作

时间:2015-06-06 12:19:18

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

当我打开这样的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 个答案:

答案 0 :(得分:0)

您的最后两条规则被忽略,因为第一条规则取代了它们,方法是匹配所有(.*)

因此,最后两条规则应该移到RewriteEngine on之下。