1

可能重复:
如何:用 PHP 重写 URL?

我想通过index.php(mvc)中的搜索表单传递一个干净的 url

IE:

 <form>
    <input type="text" name="search" onClick="if(this.value=='Search') this.value=''"    onBlur="if(this.value=='') this.value='Search'" value="Search"/>
    <button>Search</button>
</form> 

它被发送到index.php并取决于搜索参数,即$_GET['search']它被传递给搜索控制器

但不是index.php?search=xyz我想通过/search/xyz

4

2 回答 2

2

如果您使用 apache 阅读有关mod_rewrite的信息,则应添加重写规则,该规则将重写/search/xyzindex.php?search=xyz

RewriteEngine on 
Options +FollowSymlinks
RewriteBase / 

RewriteRule ^search/(.*) index.php?search=$1 [R]
于 2012-11-01T07:05:58.720 回答
1

您可以在表单的 onsubmit 功能中执行此操作

<form onsubmit="myFunc();">  
..  

在js中:

function myFunc(){  
  var search_input = document.getElementById("search_input_id");
  window.location = "http://www.yoursite.com/search/"+search_input.value;}

我不确定这会奏效,但你明白了。

UPD:在你的情况下:<button onclick="muFunc();">

如果您的意思是“如何将 'http://www.yoursite.com/search/search_term' 重定向到 index.php?search=search_term ”,Ruben Nagoga 是 100% 正确的

于 2012-11-01T07:04:58.657 回答