RewriteEngine on
RewriteRule ^admin/api/(.*)$ admin/api.php?method=$1 [QSA,L]
RewriteRule ^admin/(.*)$ admin/index.php [QSA,L]
RewriteRule ^api/(.*)/$ api.php?method=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(?:css|js|jpg|png|gif|svg|eot|ttf|woff)$ [NC]
RewriteRule (.*) index.php [QSA,L]
Я хочу отдельную точку входа API для модуля администрирования, но переписать не работает так, как я хочу. Что случилось с правилами перезаписи?Некоторые правила перезаписи не работают (.htaccess)
host.com/page - работы (/index.php),
host.com/admin/page - работы (/admin/index.php),
host.com/admin/ api/section - выполняет /index.php (но ожидаемый /admin/api.php)
Это решение работает! Не могли бы вы объяснить, почему это не останавливается на первом матче с флагом L? – user3168823
'L' не все правила, которые он просто заставляет' mod_rewrite' запускать с самого начала. Это похоже на 'continue' цикла' while'. – anubhava