В соответствии с Удалите расширение .php с помощью .htaccess , вам необходимо добавить
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
к вашему .htaccess
НО , вам следуетдобавьте его перед правилами CodeIgniter следующим образом:
Options +FollowSymLinks
RewriteEngine on
# Serve up non-CodeIgniter PHP files if they are requested without their extension
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
# CodeIgniter rewrite rules
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Поскольку mod_rewrite
обрабатывает и применяет правила по порядку, вы хотите, чтобы сначала были опробованы файлы, отличные от CodeIgniter, а затем попали в правила CodeIgniter.
У меня нет связи с этим сайтом, и я уверен, что есть другие подобные, но если вы когда-нибудь хотели просто протестировать правила перезаписи с различными URL-адресами, посмотрите https://htaccess.madewithlove.be/