htaccess переписывание URL-адресов, игнорирование файлов

Я пытаюсь придумать правило перезаписи, но у меня проблемы.

Что мне нужно – любой URL-адрес, который начинается с /services/XXX перенаправляется на /services/api.php?service=XXX

Я также хочу игнорировать любые файлы или папки, которые также могут совпадать.

Что я до сих пор:

RewriteRule ^services/([az]+)$ /services/api.php?service=$1 [NC, L]

Но это не работает вообще, он показывает 404 страницы, говорящие, что файл отсутствует, когда я его тестирую. Буду признателен за любую оказанную помощь.

Чтобы игнорировать файлы, которые существуют, просто игнорируйте «RewriteCond».

Просто перепишите все, что входит в сервисы / в api.php? Service …

Поместите это в свою папку с вашими услугами.

Будьте осторожны с кодировкой, сохраните файл как .htaccess с кодировкой, которую читает ваш сервер.

 # .htaccess mod_rewrite RewriteEngine On RewriteRule ^(.*)$ api.php?service=$1 [QSA,L] 

Если вам не нужно избегать файлов, просто перейдите к:

 # .htaccess mod_rewrite RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(.*)$ api.php?service=$1 [QSA,L]