2014-01-14 2 views
0

www.example.com/ Search.php?q=mySearchString это моя поисковая ссылка. Я хочу изменить его.htaccess RewriteRule с параметром формы

www.example.com/ Search/mySearchString

Тогда я попытался ниже правила в моем файле .htaccess, но это выглядит как ->Search/?q=mySearchString Как я могу устранить ?q= от адреса

в .htaccess файле Я добавляю правило, подобное этому;

RewriteRule ^Search/(.*)$ Search.php?q=$1 [L,NC] 

Также я отправить поисковый запрос с формой и методом формы является «GET»

<form class="navbar-search pull-left" method="GET" action="Search/"> 
    <input name="q" type="text" /> 
</form> 

Как я могу это исправить?

ответ

1

Если переименовать вход поиска:

<input name="query" type="text" /> 

Затем используйте эти два правила:

# If someone searches /Search/?query=search+string 
RewriteCond %{QUERY_STRING} query=([^&]+) 
# Redirect to /Search/search+string 
RewriteRule ^Search/$ Search/%1 [L,R=301,NC] 

# Match the redirect from the rule above and serve up results 
RewriteRule ^Search/(.*)$ Search.php?q=$1 [L,NC]