Я пытаюсь придумать правило перезаписи, но у меня проблемы.
Что мне нужно – любой 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]