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

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

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

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

Что у меня так далеко:

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

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

1

Решение

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

Просто перепишите все, что входит в services / 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]
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]