Действие формы GET + Mod Rewrite

Извините, если я повторяю вопрос, но я не могу решить это, глядя на другие ответы 🙁

У меня есть FORM с действием GET:

<form action="tag" role="form" method="get"> 

Который содержит вход для поиска с именем «q»,

Я хочу, чтобы при отправке формы URL, отображаемый на панели навигации:

 http://localhost/web/tag/dress 

Вместо

 http://localhost/web/tag?q=dress 

В моем .htaccess у меня есть

 RewriteRule ^tag/([0-9a-z]+)/?$ index.php?tag=$1 [L] 

Что отлично работает, когда я напрямую обращаюсь к:

 http://localhost/web/tag/dress 

Все, что я хочу, это форма, которая приведет меня к этому чистому URL-адресу вместо того, чтобы использовать параметр? Q = в панели навигации.

Какие-либо предложения?

Упрощенная версия моего .htaccess:

 ErrorDocument 404 http://localhost/web/#404 RewriteEngine on RewriteRule ^index.html index.php [L] ###TAG RewriteRule ^tag/([0-9a-z]+)/?$ index.php?seccion=home&tag=$1[L] ###USER PROFILE RewriteRule ^([0-9a-z]+)/?$ index.php?seccion=profile&user=$1 [L] 

Интересно, если я вынужден сделать это с помощью javascript?

Что-то вроде:

 $('.search-form').submit(function (event) { var tag = $('#q').val(); window.location='tag/'+tag; return false; }); 

Добавьте это дополнительное правило перед своим существующим правилом:

 # external redirect from actual URL to pretty one RewriteCond %{THE_REQUEST} \s/+web/tag\?q=([^\s&]+) [NC] RewriteRule ^ /web/tag/%1? [R=302,L] 

UPDATE: ваш полный .htaccess: ПРИМЕЧАНИЕ: «/» отсутствует. Теперь это должно сработать.

 ErrorDocument 404 web/#404 RewriteEngine on RewriteBase /web/ # external redirect from actual URL to pretty one RewriteCond %{THE_REQUEST} /tag/\?q=([^\s&]+) [NC] RewriteRule ^ tag/%1? [R=302,L] RewriteRule ^index\.html$ index.php [L,NC] ###TAG RewriteRule ^tag/([0-9a-z]+)/?$ index.php?seccion=home&tag=$1 [L,NC,QSA] ###USER PROFILE RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([0-9a-z]+)/?$ index.php?seccion=profile&user=$1 [L,NC,QSA]