2017-01-02 45 views
0

新年快樂!我在PHP中的搜索表單,並且使用mod_rewrite IM,現在,我想事情是這樣的:URL重寫/格式化和PHP的搜索表單

我的正常網址: http://mywebsite.com/buscar.php?p=my+search+string&pag=1

TO:

國防部重寫: http://mywebsite.com/buscar/my+search+string/1

我怎樣才能做到這一點?

的.htaccess

RewriteEngine On RewriteRule ^buscar/(^[a-zA-Z0-9[:space:]]*$)/([0-9]+) buscar.php?p=$1&pag=$2

HTML表單

<form action="buscar/1/" method="GET"> 
<div id="custom-search-input"> 
    <div class="input-group col-md-12"> 
     <input type="text" name="p" class="search-query form-control" placeholder="Buscar..." required autocomplete="off"/> 
     <span class="input-group-btn"> 
      <button class="btn btn-danger" type="submit"> 
       <span class="glyphicon glyphicon-search"></span> 
      </button> 
     </span> 
    </div> 
</div> 

回答

1

你將不得不使用JavaScript爲。

您可以使用此功能:

function dosearch(frm) { 
    var text = document.getElementsByClassName('search-query')[0].value; 
    url = '/buscar/' + encodeURI(text) + '/1/'; 
    window.location = url; 
    return false; 
} 

而且你<form>元素裏,你需要添加onsubmit="return dosearch(this)"

這裏是的jsfiddle一個例子:
https://jsfiddle.net/dekelb/gkbgqzq4/

+0

但是,有沒有用的.htaccess的方法嗎? –

+1

不,它與'.htaccess'完全沒有關係。它與瀏覽器發生的事情有關(發生在請求到達服務器之前)。 – Dekel

+0

好吧,我會試試:) –