htaccess没有正确清除Url

I'm clearing the url for my mvc application. For example, htaccess clears all the url and only allow "get" url={some_string}. Then I'm using this some_string for my mvc application. It's so simple and fast. But the problem is, I have a form on my site. When I write something and submit, it adds ?url={written_text} to my url. my form is like this:

<form action="/" method="get">
 <input type="text name="url">
 <input type="submit>
</form>

Normally, for example I enter to the link "{domain_name}/messages", it treats "messages" like url=messages. There is no problem. But when I, for example write "messages" and submit the form, url changes into "{domain_name}/?url=messages".

I don't want this to happen. It should be "{domain_name}/messages".

My htaccess file:

Options -MultiViews

RewriteEngine On

RewriteBase /

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

AddType application/x-httpd-php .asp .py .pl

You can't do that this way. GET is a HTTP verb which use query parameters to communicate. When you submit a form, all parameters will be appended to the action form value.

Your .htaccess is used when you receive a query, not when you send it.

If you really want to do that you have to use AJAX query to prevent the form to be sent and to rebuild the query the way you want.