【问题标题】:clean url in php [duplicate]php中的干净网址[重复]
【发布时间】:2012-10-21 18:12:59
【问题描述】:

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

我想通过 index.php(mvc)

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

即:

 <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'] 它被传递给搜索控制器

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

【问题讨论】:

  • 欢迎来到 Stackoverflow。在发布任何问题之前,请按照您需要确认的ask advice。请记住,只有您想要某样东西并且您问自己它是如何编程的本身并不符合编程问题。

标签: php clean-urls


【解决方案1】:

如果您使用的是 apache,请阅读有关 mod_rewrite 的信息,您应该添加重写规则,该规则会将 /search/xyz 重写为 index.php?search=xyz,如下所示:

RewriteEngine on 
Options +FollowSymlinks
RewriteBase / 

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

【讨论】:

    【解决方案2】:

    你可以在表单的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:在你的情况下:&lt;button onclick="muFunc();"&gt;

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-06
      • 2016-04-25
      • 2018-10-18
      • 2011-06-25
      • 1970-01-01
      • 2012-02-29
      相关资源
      最近更新 更多