在PHP中清理网址

时间:2012-11-01 06:52:58

标签: php clean-urls

  

可能重复:
  How to: URL re-writing in PHP?

我想通过 index.php(mvc)

中的搜索表单传递一个干净的网址

即:

 <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

2 个答案:

答案 0 :(得分:2)

如果你正在使用关于mod_rewrite的apache,你应该添加重写规则,将/search/xyz重写为index.php?search=xyz,如:

RewriteEngine on 
Options +FollowSymlinks
RewriteBase / 

RewriteRule ^search/(.*) index.php?search=$1 [R]

答案 1 :(得分: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%正确的