Mod rewrite 重写$\u转到/$1/$2

Mod rewrite 重写$\u转到/$1/$2,mod-rewrite,get,hyperlink,nice,Mod Rewrite,Get,Hyperlink,Nice,我有下一张表格: <form action="/" method="get" name="main"> <select size="1" name="type" id="sel" class="dropdown"> <option value="Class1" >YES</option> <option value="Class2" >NO</option> &l

我有下一张表格:

<form action="/" method="get"  name="main">

   <select size="1" name="type" id="sel" class="dropdown">
        <option value="Class1"  >YES</option>
        <option value="Class2"  >NO</option>
        </select>

    <input type="text" name="text"/>

      <button id="go" type="submit"/>Get the Results!</button>
</form>
问题是:我如何才能将用户发送到.htaccess代码才能正常工作

现在,请将表单发送到/?type=class1&text=sometext

尝试在规则中的第一次重写之前放置以下内容:

RewriteCond %{QUERY_STRING} type=(\w+)&text=(\w+)
RewriteRule .* /%1/%2/? [QSD,R]
理论上,这应该将
/?type=class1&text=sometext
重定向到
/class1/sometext/
。然后,这将由以下重写规则匹配,这些规则应使用正确的参数调用index.php,但不更改浏览器中的URL


另外,您可能只需要第二条重写规则,因为
/?
将匹配有斜杠,而没有斜杠。

我已经回答了我的问题:) 使用.htaccess,我们将有太多的重播,因此无法接收类型为的链接

我在表单中添加了JQuery代码,因此在提交时生成所需的链接:

$('#seform').submit(function (event)
{
    var type = $("#sel").val();
    var text = $("#text").val();
       var action = '/'+type+'/'+text;
      $(this).attr('action', action);
});

由于内部服务器错误…:(在host.com上,使用RewriteRule ^./%1/%2/?[QSD,R]嗯,当时不确定-我只能在上测试它。只是尝试删除QSD-(在apache手册中看不到它),Chrome表示重定向太多,试图在QSA上更改它-下一个输出/class1/sdd/?&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&type=class1&text=sddQSD删除查询字符串,QSA添加它:。QSD可能不在您的版本中,最后的
应该具有相同的效果。删除QSD将转到host.com/class1/text/但是由于重定向太多而出现错误…我能以某种方式处理此问题吗?谢谢您的帮助!
$('#seform').submit(function (event)
{
    var type = $("#sel").val();
    var text = $("#text").val();
       var action = '/'+type+'/'+text;
      $(this).attr('action', action);
});