2014-01-14 32 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]