Apache 使用.htaccess重写GET参数

Apache 使用.htaccess重写GET参数,apache,.htaccess,mod-rewrite,url-rewriting,friendly-url,Apache,.htaccess,Mod Rewrite,Url Rewriting,Friendly Url,我正试图重写htaccess上的get参数以更改url,如下所示: example.com/test.php?action=value1&step=value2 到 example.com/test/value1/value2 我试过: RewriteEngine on RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2 但它不起作用。。我已经启用了apache2重写 我如何才能做到这一点???对

我正试图重写htaccess上的get参数以更改url,如下所示:

example.com/test.php?action=value1&step=value2

example.com/test/value1/value2

我试过:

RewriteEngine on
 RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2
但它不起作用。。我已经启用了apache2重写


我如何才能做到这一点???

对于您展示的样品,请您尝试以下内容。 请在测试URL之前清除浏览器缓存

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/?$ $1.php?action=$2&step=$3 [L]

看到你的个人资料,你就知道你从来没有接受过任何问题的答案。当答案不多的时候,给它一些时间,检查一下,然后回复给用户。为了感恩,你可以投票选出所有有用的答案(鼓励用户这么做),并从中选出一个答案。你可以看到这个链接:干杯,快乐学习。现在,您也可以转到旧答案,并可以在任何适用的地方接受答案,干杯。@RavinderSingh13好的,谢谢您提供的信息!它起作用了,但是如果我删除最后一个/,我会得到404。@kanohn,你能告诉我你的test.php是否与.htaccess所在的路径相同吗?谢谢。是的,两者都在/var上/www@kanohn,尝试将最后一条规则更改为
RewriteRule^([^/]*)/([^/]*)/([^/]*)/([^/]*)/?$/$1.php?操作=$2,步骤=$3[L]
,然后再试一次?请确保在测试您的URL之前清除浏览器缓存感谢帮助,但是如果我删除最后一个/,它还不能工作。。仍然得到404,我正在清理我的缓存。