Я хочу, чтобы все следующие изменения были возможны:
https://website.com/CAT/api/translation/tasks/get/3/4x https://website.com/CAT/api/translation/tasks/get.php?param1=3¶m2=4x
https://website.com/CAT/api/glossary/folder/anotherfolder/put/6 https://website.com/CAT/api/glossary/folder/anotherfolder/put.php?param1=6
URL первый работает нормально. Однако я хочу, чтобы количество параметров было необязательным. Если я удаляю параметр: https://website.com/CAT/api/translation/tasks/get/3/ Я получаю ошибку Запрошенный URL /CAT/api.php не найден на этом сервере. По какой-то причине наличие только одного параметра приводит к тому, что при перезаписи переменная папки изменяется на api. php вместо того, чтобы получить файл. php.
Вот мой .htaccess, который находится в каталоге CAT.
Options -MultiViews RewriteEngine On RewriteBase /CAT/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+?)/([^/]+)/([^/]+)/?$ $1.php?param1=$2¶m2=$3 [QSA,NC,L]