2015-06-06 5 views
0

Этот файл .htaccess переписывает в /admin/index.php, когда я открываю URL, как это: http://example.com/admin/.htaccess переписать правила не работают должным образом

Но на 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] 
+0

Переместите свое второе и третье правило только под 'RewriteEngine on'. –

+0

Это работает. Большое спасибо! – user3168823

+0

Я отправлю его в качестве ответа, чтобы его можно было принять. –

ответ

0

Ваших последних два правила игнорируются, поскольку первое правило заменяет их, путем сопоставления всех (.*).

Таким образом, последние два правила должны быть перемещены до уровня ниже RewriteEngine on.