Я не совсем уверен, чего вы пытаетесь достичь, и я подозреваю, что неуважительное намерение подразумевает, что вы должны понимать и mod_rewrite, и то, как веб-сервер и php анализируют и выполняют файлы. Я не знаю, как ответить, не стреляя выше или ниже вашего уровня понимания, но я постараюсь.
Я могу рассказать вам, что вы в данный момент делаете .htaccess: (псевдокод)
if REQUEST_FILENAME does not exist then
rewrite request to /index.php/<the request>
Поскольку index.php - это ваш php-скрипт, который выполняется, и все, что помещено в $ 1, игнорируется.
Вот почему index.php выполняется независимо от того, что вы делаете.
То, что вы можете попытаться вставить в свой .htaccess, это:
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^(.*)$ $1.php
Это должно взять запрос и попытаться добавить .php до конца. К сожалению, я не проверял, но вы должны попробовать. Результат должен быть примерно таким:
if request is "/news/article"
translate it to "/news/article.php"
И вам следует читать документацию по mod_rewrite два раза в день в течение месяца и купить книгу О'Рейли о регулярных выражениях.
И если у вас есть доступ администратора к серверу разработки, вам следует заглянуть в
RewriteLogLevel
RewriteLog