2014-08-27 70 views
0

當我提交我的形式,這是我的網址:重寫規則形式Get請求

index.php?pagina=search&terms=soccer 

我想將它更改爲:

/pagina/search/terms/soccer 

什麼,我至今不工作

#searchRewriteRules 
RewriteCond %{QUERY_STRING} ^terms=([a-zA-Z0-9]+)$ 
RewriteRule ^index.php$ /pagina/search/terms/%1? [R=301] 

有人可以幫我

回答

0

Y我們的查詢字符串是pagina=search&terms=soccer。你需要完全匹配。請注意,如果您正在執行POST請求,則會在重定向時丟失POST正文。除此之外,您需要將漂亮的url轉換回正常的url,並防止發生無限重定向。

RewriteCond %{THE_REQUEST} ^(GET|POST)\ /index\.php?pagina=search&terms=([a-zA-Z0-9]+)\ HTTP 
RewriteRule^/pagina/search/terms/%2? [R=301,L] 

RewriteRule ^pagina/search/terms/(.*)$ /index.php?pagina=search&terms=$1 [L] 
0

它與jQuery的工作。 我創建了一個名爲rewritesearch.php的新頁面,並插入到表單所在的主頁面。

rewritesearch.php

// Base Url 
$url = BASE_URL; 

echo <<<EOT 
<script> 
     $(document).ready(function() { 
      $('#submit').click(function() { 
       // get the terms value 
       var terms = $('.search').val(); 

       goUrl = '{$url}pagina/search/terms/'+terms+'/'; 
       window.location = goUrl; 
       return false; // Prevent the default button behaviour 
      }); 
      $('#search_form').submit(function() { 
       return false; // May be necessary to prevent the default form behaviour 
      }); 
     }); 
</script> 
EOT;