Mod rewrite 重写规则表单获取请求

Mod rewrite 重写规则表单获取请求,mod-rewrite,Mod Rewrite,当我提交表格时,这是我的url: index.php?pagina=search&terms=soccer 我想将其更改为: /pagina/search/terms/soccer 到目前为止我所做的都不管用 #searchRewriteRules RewriteCond %{QUERY_STRING} ^terms=([a-zA-Z0-9]+)$ RewriteRule ^index.php$ /pagina/search/terms/%1? [R=301] 有人能帮我一下吗您的

当我提交表格时,这是我的url:

index.php?pagina=search&terms=soccer
我想将其更改为:

/pagina/search/terms/soccer
到目前为止我所做的都不管用

#searchRewriteRules
RewriteCond %{QUERY_STRING} ^terms=([a-zA-Z0-9]+)$
RewriteRule ^index.php$ /pagina/search/terms/%1? [R=301]

有人能帮我一下吗

您的查询字符串是
pagina=search&terms=soccer
。你需要完全匹配。请注意,如果您正在执行POST请求,则会松开重定向上的POST正文。此外,您需要将漂亮的url转换回正常的url,并防止发生无限重定向

RewriteCond %{THE_REQUEST} ^(GET|POST)\ /index\.php?pagina=search&terms=([a-zA-Z0-9]+)\ HTTP
RewriteRule ^ /pagina/search/terms/%2? [R=301,L]

RewriteRule ^pagina/search/terms/(.*)$ /index.php?pagina=search&terms=$1 [L]
它正在使用jquery。 我已经创建了一个名为rewritesearch.php的新页面,并将其插入到我的主页中表单所在的位置

rewritesearch.php

// Base Url
$url = BASE_URL;

echo <<<EOT
 <script>
      $(document).ready(function() {
            $('#submit').click(function() {
                 // get the terms value
                 var terms = $('.search').val();

                 goUrl = '{$url}pagina/search/terms/'+terms+'/';
                 window.location = goUrl;
                 return false;  // Prevent the default button behaviour
            });
            $('#search_form').submit( function() {
                 return false;  // May be necessary to prevent the default form behaviour
            });
      });
 </script>
EOT;
//基本Url
$url=基本url;
回声