очистить URL с помощью .htaccess

Я пытаюсь перенаправить ссылки на мой домен. То, чего я пытаюсь добиться, это: когда пользователь нажимает на ссылку

mydomain.com/index.php?dir=myfolder

Я хочу, чтобы он был перенаправлен именно на этот URL, но на панели браузера должен отображаться этот URL:

mydomain.com/myfolder

Поскольку у меня нет доступа к тому, как устанавливаются ссылки (это php-сайт), я пытаюсь сделать это только с помощью .htaccess-файла.

Вот что у меня есть:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} subdomain.mydomain.com
RewriteCond %{REQUEST_URI} (.*)/style.css [OR]
RewriteCond %{REQUEST_URI} (.*)/script.js [OR]
RewriteCond %{REQUEST_URI} (.*)/logo.png
RewriteRule (.*) http://www.subdomain.com%{REQUEST_URI} [R=301,NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?dir=$1 [L]

Поэтому, когда я вхожу"mydomain.com/myfolder" в браузере все работает нормально, а адрес в адресной строке остается таким. Но когда я вхожу"mydomain.com/index.php?dir=myfolder" это работает так же, но URL-адрес также остается прежним (что я не хочу). Я предполагаю, что мне нужно каким-то образом изменить URL с помощью .htaccess-файла и затем переписать его (как я уже сделал) в php-схему. Я сделал несколько подходов сейчас, но я не знаю, как это сделать. Я надеюсь, что вы понимаете мой вопрос и можете мне помочь!

Спасибо!

EDIT:

Решение (спасибо @anubhava):

RewriteEngine on
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index\.php\?dir=([^\s]+) [NC]
RewriteRule ^ %1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?dir=/$1 [L]

Ответы на вопрос(3)

Ваш ответ на вопрос